|
ABSTRACT
This article explores a performance isolation-based approach to creating robust distributed applications. For each application, the approach is to understand the performance dependencies that pervade it and then impose constraints on the possible ‘spread’ of such dependencies through the application. The mechanisms used for this purpose, termed isolation points, are software abstractions inserted at key program locations: (1) in application interfaces, (2) in middleware implementations for making remote requests, and (3) in the system interfaces used by middleware and applications. This article demonstrates the utility of isolation points by using them to implement higher level abstractions that improve the performance-robustness of representative enterprise applications. The I-Queue abstraction uses isolation points to implement performance-robust messaging, targeting the message queues used in distributed enterprise codes. By appropriately orchestrating message dispatching, I-Queue can achieve an improvement of 16--32% in dispatched message locality based on traces obtained from the large-scale e-Pricing® search engine operated by Worldspan L.P.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
Aristotle research group. JABA: Java architecture for bytecode analysis. http://www.cc.gatech.edu/aristotle/Tools/jaba.html. (10/04/04).
|
| |
2
|
|
| |
3
|
|
 |
4
|
Marcos K. Aguilera , Jeffrey C. Mogul , Janet L. Wiener , Patrick Reynolds , Athicha Muthitacharoen, Performance debugging for distributed systems of black boxes, Proceedings of the nineteenth ACM symposium on Operating systems principles, October 19-22, 2003, Bolton Landing, NY, USA
|
| |
5
|
|
 |
6
|
Thomas Ball , Ella Bounimova , Byron Cook , Vladimir Levin , Jakob Lichtenberg , Con McGarvey , Bohus Ondrusek , Sriram K. Rajamani , Abdullah Ustuner, Thorough static analysis of device drivers, Proceedings of the 1st ACM SIGOPS/EuroSys European Conference on Computer Systems 2006, April 18-21, 2006, Leuven, Belgium
|
 |
7
|
Paul Barham , Boris Dragovic , Keir Fraser , Steven Hand , Tim Harris , Alex Ho , Rolf Neugebauer , Ian Pratt , Andrew Warfield, Xen and the art of virtualization, Proceedings of the nineteenth ACM symposium on Operating systems principles, October 19-22, 2003, Bolton Landing, NY, USA
|
| |
8
|
|
 |
9
|
|
| |
10
|
Cai, Z., Chen, Y., Kumar, V., Milojicic, D. S., and Schwan, K. 2007. Automated availability management driven by business policies. In Integr. Netw. Manage. IEEE, 264--273.
|
| |
11
|
|
 |
12
|
|
 |
13
|
Miguel Castro , Peter Druschel , Anne-Marie Kermarrec , Animesh Nandi , Antony Rowstron , Atul Singh, SplitStream: high-bandwidth multicast in cooperative environments, Proceedings of the nineteenth ACM symposium on Operating systems principles, October 19-22, 2003, Bolton Landing, NY, USA
|
| |
14
|
Mike Y. Chen , Emre Kiciman , Eugene Fratkin , Armando Fox , Eric Brewer, Pinpoint: Problem Determination in Large, Dynamic Internet Services, Proceedings of the 2002 International Conference on Dependable Systems and Networks, p.595-604, June 23-26, 2002
|
 |
15
|
|
| |
16
|
Ira Cohen , Moises Goldszmidt , Terence Kelly , Julie Symons , Jeffrey S. Chase, Correlating instrumentation data to system states: a building block for automated diagnosis and control, Proceedings of the 6th conference on Symposium on Opearting Systems Design & Implementation, p.16-16, December 06-08, 2004, San Francisco, CA
|
 |
17
|
Ira Cohen , Steve Zhang , Moises Goldszmidt , Julie Symons , Terence Kelly , Armando Fox, Capturing, indexing, clustering, and retrieving system history, Proceedings of the twentieth ACM symposium on Operating systems principles, October 23-26, 2005, Brighton, United Kingdom
|
 |
18
|
|
 |
19
|
Grzegorz Czajkowski, Application isolation in the Java Virtual Machine, Proceedings of the 15th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, p.354-366, October 2000, Minneapolis, Minnesota, United States
|
| |
20
|
|
 |
21
|
|
| |
22
|
|
| |
23
|
|
| |
24
|
Gray, J. 1985. Why do computers stop and what can be done about it? Tech. Rep. TR.85.7, Tandem.
|
| |
25
|
Gu, W., Eisenhauer, G., Schwan, K., and Vetter, J. S. 1988. Falcon: On-line monitoring and steering of parallel programs. Concurrency: Practice and Experience 10, 9, 699--736.
|
 |
26
|
|
 |
27
|
Graham Hamilton , Michael L. Powell , James G. Mitchell, Subcontract: a flexible base for distributed programming, Proceedings of the fourteenth ACM symposium on Operating systems principles, p.69-79, December 05-08, 1993, Asheville, North Carolina, United States
|
| |
28
|
|
| |
29
|
|
| |
30
|
|
| |
31
|
|
| |
32
|
|
 |
33
|
|
 |
34
|
Rajnish Kumar , Matthew Wolenetz , Bikash Agarwalla , JunSuk Shin , Phillip Hutto , Arnab Paul , Umakishore Ramachandran, DFuse: a framework for distributed data fusion, Proceedings of the 1st international conference on Embedded networked sensor systems, November 05-07, 2003, Los Angeles, California, USA
[doi> 10.1145/958491.958505]
|
| |
35
|
|
| |
36
|
|
 |
37
|
Cheng Liao , Margaret Martonosi , Douglas W. Clark, Performance monitoring in a Myrinet-connected SHRIMP cluster, Proceedings of the SIGMETRICS symposium on Parallel and distributed tools, p.21-29, August 03-04, 1998, Welches, Oregon, United States
[doi> 10.1145/281035.281038]
|
| |
38
|
|
| |
39
|
Lowekamp, B., Miller, N., Karrer, R., Gross, T., and Steenkiste, P. 2003. Design, implementation, and evaluation of the remos network monitoring system. J. Grid Comput. 1, 1, 75--93.
|
| |
40
|
|
| |
41
|
Mansour, M. and Mehalingham, J. 2006. private communication.
|
| |
42
|
|
| |
43
|
Mansour, M. S., Schwan, K., and Abdelaziz, S. 2006a. I-Queue: Smart queues for service management. In Proceedings of the 4th International Conference on Service Oriented Computing (ICSOC'06). Lecture Notes in Computer Science. Springer.
|
| |
44
|
Mansour, M. S., Schwan, K., and Abdelaziz, S. 2006b. I-Queue: Smart queues for service management. Tech. Rep. GIT-CERCS-06-11, CERCS.
|
 |
45
|
Brian D. Noble , M. Satyanarayanan , Dushyanth Narayanan , James Eric Tilton , Jason Flinn , Kevin R. Walker, Agile application-aware adaptation for mobility, Proceedings of the sixteenth ACM symposium on Operating systems principles, p.276-287, October 05-08, 1997, Saint Malo, France
|
| |
46
|
Peyman Oreizy , Michael M. Gorlick , Richard N. Taylor , Dennis Heimbigner , Gregory Johnson , Nenad Medvidovic , Alex Quilici , David S. Rosenblum , Alexander L. Wolf, An Architecture-Based Approach to Self-Adaptive Software, IEEE Intelligent Systems, v.14 n.3, p.54-62, May 1999
[doi> 10.1109/5254.769885]
|
| |
47
|
Oster, S., Hastings, S. L., Langella, S., Ervin, D. W., Madduri, R., Kurc, T. M., Siebenlist, F., Foster, I., Shanbhag, K., Covitz, P. A., and Saltz, J. H. 2007. cagrid 1.0: A grid enterprise architecture for cancer research. Proceedings of the 2007 AMIA Annual Symposium.
|
| |
48
|
Poellabauer, C., Schwan, K., West, R., Ganev, I., Bright, N., and Losik, G. 2000. Flexible user/kernel communication for real-time applications in Elinux. In Proceedings of the Workshop on Real Time Operating Systems and Applications and Second Real Time Linux Workshop (in conjunction with RTSS 2000).
|
 |
49
|
|
 |
50
|
|
| |
51
|
|
| |
52
|
Pyarali, I., Schmidt, D. C., and Cytron, R. 2003. Techniques for enhancing real-time corba quality of service. Proc. IEEE 91, 7, 1070--1085.
|
| |
53
|
|
| |
54
|
|
| |
55
|
|
| |
56
|
|
| |
57
|
|
| |
58
|
|
| |
59
|
Strom, R., Banavar, G., Chandra, T., Kaplan, M., Miller, K., Mukherjee, B., Sturman, D., and Ward, M. 1998. Gryphon: An information flow based approach to message brokering. In Proceedings of the International Symposium on Software Reliability Engineering (ISSRE'98).
|
 |
60
|
Vijay Sundaram , Abhishek Chandra , Pawan Goyal , Prashant Shenoy , Jasleen Sahni , Harrick Vin, Application performance in the QLinux multimedia operating system, Proceedings of the eighth ACM international conference on Multimedia, p.127-136, October 2000, Marina del Rey, California, United States
[doi> 10.1145/354384.354448]
|
| |
61
|
Uthayopas, P., Phaisithbenchapol, S., and Chongbarirux, K. 1998. Building a resources monitoring system for smile beowulf cluster. In Proceeding of the 3rd International Conference/Exhibition on High Performance Computing in Asia-Pacific Region (HPC ASIA'99).
|
| |
62
|
|
| |
63
|
|
| |
64
|
Matthew Wolf , Zhongtang Cai , Weiyun Huang , Karsten Schwan, SmartPointers: personalized scientific data portals in your hand, Proceedings of the 2002 ACM/IEEE conference on Supercomputing, p.1-16, November 16, 2002, Baltimore, Maryland
|
| |
65
|
Yuan, W. and Nahrstedt, K. 2004. Process group management in cross-layer adaptation. In Proceedings of the SPIE/ACM Multimedia Computing and Networking Conference (MMCN'04). 55--68.
|
| |
66
|
|
|