Skip to main content

Khalil Amiri

Optimally partitioning application and filesystem functionality within a cluster of clients and servers is a difficult problem due to dynamic variations in application behavior, resource availability, and workload mixes. This paper... more
Optimally partitioning application and filesystem functionality within a cluster of clients and servers is a difficult problem due to dynamic variations in application behavior, resource availability, and workload mixes. This paper presents ABACUS, a run-time system that monitors and dynamically changes function placement for applications that manipulate large data sets. Several examples of data-intensive workloads are used to show the importance of proper function placement and its dependence on dynamic run-time characteristics, with performance differences frequently reaching 2–10X. We evaluate how well the ABACUS prototype adapts to run-time system behavior, including both long-term variation (e.g., filter selectivity) and short-term variation (e.g., multi-phase applications and inter-application resource contention). Our experiments with ABACUS indicate that it is possible to adapt in all of these situations and that the adaptation converges most quickly in those cases where the...
Semantic database caching is a self-managing approach to dynamic materialization of “semantic” slices of back-end databases on servers at the edge of the network. It can be used to enhance the performance of distributed Web servers,... more
Semantic database caching is a self-managing approach to dynamic materialization of “semantic” slices of back-end databases on servers at the edge of the network. It can be used to enhance the performance of distributed Web servers, information integration applications, and Web applications offloaded to edge servers. Such semantic caches often rely on update propagation protocols to maintain consistency with the back-end database system. However, the scalability of such update propagation protocols continues to be a major challenge. In this paper, we focus on the scalability of update propagation from back-end databases to the edge server caches. In particular, we propose a publish-subscribe like scheme for aggregating cache subscriptions at the back-end site to enhance the scalability of the filtering step required to route updates to the target caches. Our proposal exploits the template-rich nature of Web applications and promises significantly better scalability. In this paper, w...
Network-attached storage enables network-striped data transfers directly between client and storage to provide clients with scalable bandwidth on large transfers. Network-attached storage also decouples policy and enforcement of access... more
Network-attached storage enables network-striped data transfers directly between client and storage to provide clients with scalable bandwidth on large transfers. Network-attached storage also decouples policy and enforcement of access control, avoiding unnecessary reverification of protection checks, reducing file manager work and increasing scalability. It eliminates the expense of a server computer devoted to copying data between peripheral network and client network. This architecture better matches storage technology’s sustained data rates, now 80 Mb/s and growing at 40% per year. Finally, it enables self-managing storage to counter the increasing cost of data management. The availability of cost-effective network-attached storage depends on it becoming a storage commodity, which in turn depends on its utility to a broad segment of the storage market. Specifically, multiple distributed and parallel filesystems must benefit from network-attached storage’s requirement for secure,...
Optimally partitioning application and filesystem functionality within a cluster of clients and servers is a difficult problem due to dynamic variations in application behavior, resource availability, and workload mixes. This paper... more
Optimally partitioning application and filesystem functionality within a cluster of clients and servers is a difficult problem due to dynamic variations in application behavior, resource availability, and workload mixes. This paper presents ABACUS, a run-time system that monitors and ...
... the adoption of SCSI (and its less-expensive contemporary, IDE) across a broad range of ... 105K cycles, and an NFS remove (8K file) consumes 135K cycles, while an AFS BulkStatus ... analytic model of server workload in SAD systems,... more
... the adoption of SCSI (and its less-expensive contemporary, IDE) across a broad range of ... 105K cycles, and an NFS remove (8K file) consumes 135K cycles, while an AFS BulkStatus ... analytic model of server workload in SAD systems, described above, and the outline of NetSCSI ...
This paper examines the rise of policy research institutes ("think tanks") in Tunisia and their role in the policy making process since the 2011 uprising. Our research suggests that such institutes are developing a stake in the... more
This paper examines the rise of policy research institutes ("think tanks") in Tunisia and their role in the policy making process since the 2011 uprising. Our research suggests that such institutes are developing a stake in the policymaking process in Tunisia, using expanded public space to raise policy issues, scrutinise governmental action, and challenge existing policy frameworks. The paper examines the the changing nature of public policy making since 2011, the challenges facing policy research institutes, and  the obstacles to greater public engagement in policy making processes.
interfaces has resulted in programs that are easier tolearn and use, but harder to automate and reuse. Anothertransition is now underway, to HTML interfaces hostedby a web browser. To help users automate HTML interfaces, we propose the... more
interfaces has resulted in programs that are easier tolearn and use, but harder to automate and reuse. Anothertransition is now underway, to HTML interfaces hostedby a web browser. To help users automate HTML interfaces, we propose the browser-shell, a web browserthat integrates a command interpreter into the browser'sLocation box. The browser-shell's command languageis designed for extracting and manipulating HTML andtext, and commands can also invoke local programs. Command input is drawn from the current ...
Cooperation among proxies is potentially beneficial in improving the Web performance for two reasons: First, it reduces capacity misses by effectively increasing total cache size. Second, it reduces compulsory misses by opportunistically... more
Cooperation among proxies is potentially beneficial in improving the Web performance for two reasons: First, it reduces capacity misses by effectively increasing total cache size. Second, it reduces compulsory misses by opportunistically finding the missed object in another proxy's cache. While several studies have investigated the benefit of cooperative caching, they vary significantly in their conclusions. The goal of this
Research Interests:
2000 Theses by Author Computer Science Department School of Computer Science, Carnegie Mellon University. Please see abstracts for all citations/formats related to each thesis. AMIRI, Khalil S. CMU-CS-00-178 (Electrical and Computer... more
2000 Theses by Author Computer Science Department School of Computer Science, Carnegie Mellon University. Please see abstracts for all citations/formats related to each thesis. AMIRI, Khalil S. CMU-CS-00-178 (Electrical and Computer Engineering). ...
Research Interests:
As part of the User Interface Software course in the Hu - man-Computer Interaction Institute at Carnegie Mellon University, the students and instructor developed a set of 7 benchmark tasks. These benchmarks are designed to be... more
As part of the User Interface Software course in the Hu - man-Computer Interaction Institute at Carnegie Mellon University, the students and instructor developed a set of 7 benchmark tasks. These benchmarks are designed to be representative of a wide range of user interface styles, a nd have been implemented in about 20 different toolkits on different platforms in different
Research Interests:
As part of the User Interface Software course in the Human-Computer Interaction Institute at Carnegie Mellon University, the students and instructor developed a set of 7 benchmark tasks. These benchmarks are designed to be representative... more
As part of the User Interface Software course in the Human-Computer Interaction Institute at Carnegie Mellon University, the students and instructor developed a set of 7 benchmark tasks. These benchmarks are designed to be representative of a wide range of user interface styles, and have been implemented in about 20 different toolkits on different platforms in different programming languages.. The students' written reports suggest that by implementing the benchmarks, they are learning the strengths and ...
Cooperation among proxies is potentially beneficial in improving the Web performance for two reasons: First, it reduces capacity misses by effectively increasing total cache size. Second, it reduces compulsory misses by opportunistically... more
Cooperation among proxies is potentially beneficial in improving the Web performance for two reasons: First, it reduces capacity misses by effectively increasing total cache size. Second, it reduces compulsory misses by opportunistically finding the missed object in another proxy's cache. While several studies have investigated the benefit of cooperative caching, they vary significantly in their conclusions. The goal of this
1999 Technical Reports by Author Computer Science Department School of Computer Science, Carnegie Mellon University. ALLEN, Robert J. CMU-CS-99-126. ALVISI, Lorenzo CMU-CS-99-148. AMIRI, Khalil CMU-CS-99-111, CMU-CS-99-140. BABA,... more
1999 Technical Reports by Author Computer Science Department School of Computer Science, Carnegie Mellon University. ALLEN, Robert J. CMU-CS-99-126. ALVISI, Lorenzo CMU-CS-99-148. AMIRI, Khalil CMU-CS-99-111, CMU-CS-99-140. BABA, Shigeyuki CMU-CS-99-127. BAIRD, Leemon C., III CMU-CS-99-132. BANKS, David CMU-CS-99-102. BIERE, Armin CMU-CS-99-101, CMU-CS-99-145, CMU-CS-99-146. BIGELOW, Elizabeth CMU-CS-99-126. BILIRIS, Alexandros CMU-CS-99-171. BIRKEDAL, Lars CMU-CS-99-173. ...
This paper examines policy making practices in the Tunisian sector of higher education, specifically with respect to quality assurance (QA) related reforms. Important reforms have been conducted in the past decade, namely the migration to... more
This paper examines policy making practices in the Tunisian sector of higher education, specifically with respect to quality assurance (QA) related reforms. Important reforms have been conducted in the past decade, namely the migration to a new degree structure aligning the country with the Bologna model of European higher education reforms. These reforms were supposed to be accompanied by parallel reforms in the area of quality assurance. However, progress on the latter front has encountered several obstacles. This paper looks at the policy making process behind the quality assurance aspects of the Bologna inspired reforms. The investigation relies on evidence collected from a thorough literature survey and a series of semi-structured interviews with the various stakeholders involved in the policy process.  This evidence is then used to critically assess the various stages and practices of the policymaking process and to benchmark them with international best practices in the field.
Research Interests:
Research Interests:
Database caching at proxy servers enables dynamic content to be generated at the edge of the network, thereby improving the scalability and response time of web applications. The scale of deployment of edge servers coupled with the rising... more
Database caching at proxy servers enables dynamic content to be generated at the edge of the network, thereby improving the scalability and response time of web applications. The scale of deployment of edge servers coupled with the rising costs of their administration demand that such caching middleware be adaptive and self-managing. To achieve this, a cache must be dynamically populated

And 18 more