Optimization of Object-Oriented and Concurrent Programs
Total Page:16
File Type:pdf, Size:1020Kb
c Copyright by John Bradley Plevyak OPTIMIZATION OF OBJECTORIENTED AND CONCURRENT PROGRAMS BY JOHN BRADLEY PLEVYAK BA University of California Berkeley THESIS Submitted in partial fulllment of the requirements for the degree of Do ctor of Philosophy in Computer Science in the Graduate College of the University of Illinois at UrbanaChampaign Urbana Illinois Abstract High level programming language features have long b een seen as improving programmer ef ciency at some cost in program eciency When features such as ob jectorientation and negrained concurrency which greatly simplify expression of complex programs are used par simoniously their eectiveness is mitigated It is my thesis that these features can b e imple mented eciently through interpro cedural analysis and transformation By sp ecializing their implementation to the contexts in which they are used the programs eciency is not adversely aected by the exibility of the language The sp ecic contributions herein are an adaptive ow analysis for practical precise analysis of ob jectoriented programs a cloning algorithm for building sp ecialized versions of general abstractions a set of optimizations for removing ob jectoriented and negrained concurrency overhead and a hybrid sequentialparallel ex ecution mo del which adapts to the availability of data The eectiveness of this framework has b een empirically validated on standard b enchmarks It is publicly available as part of the Illinois Concert system httpwwwcsagcsuiucedu iii To Cindy iv Acknowledgments I would like to thank everyone at the University of Illinois at UrbanaChampaign who made this p ossible I would esp ecially like to thank Vijay Karamcheti my ocemate colleague and friend for his help supp ort knowledge and patience Xingbin Zhang for putting up with my tirades ab out the right way to build a compiler Julian Dolby with whom I shared many a thought and cup of coee Scott Pakin and the rest of the Concurrent Systems Architecture group for many interesting discussions some technical and my advisor Andrew Chien for information help time and giving me the opp ortunity to pursue so many fascinating directions I would like to thank my committee for appreciating this work and Uday Reddy for conversations and his patience with my lack of pro clivity for rigor Life in Chambana would have b een unb earable if it were not for my friends there Esp ecially Keith keep er of the b ox George towny Von Bridget Chris Steve Mahesh Tara Ulrike Je Igor and Ellen Bob and the rest of the Illinois Sailing Club I also want to mention The Inn The Blind Pig Thats Rentertainment the several Korean restaurants and trips to the BVI as havens and escap es from a dull Midwest corn and cow town I would like to thank my dear friends in California for their supp ort while I have b een away pursuing this work Esp ecially Jo e Patty Chris and Anita for putting me up when I came to visit Kian and Aaron for coming to visit me in this wasteland John Craig Greg Deedee Lily Mark Tracy Dan Gina for many a past and future day of fun Kelly Simon and Justin for reminding me of what is imp ortant Kevin Kari Terry Linda the Ashlands crew and all the rest I would like to thank my family for their supp ort understanding and patience Dave and Cameron Candy and Skip and my dear mother and father Words cannot express And most of all I would like to thank Cindy my true love v Preface The reasonable man adapts himself to the world the unreasonable one p ersists in trying to adapt the world to himself Therefore all progress dep ends on the unreasonable man George Bernard Shaw This thesis had b oth a conception and a birth The conception o ccurred when I discovered Smalltalk in A thought was planted that expressiveness could b e joined with simplicity and clarity However b eing unreasonable I desired eciency and concurrency as well The birth o ccurred in when I b egan work on what would later b e the Concert pro ject whose purp ose was to combine the simplicity of Smalltalk with the p ervasive concurrency of Actors and yet automagically b e as ecient as FORTRAN on distributed memory MIMD machines At the time the b est pure ob jectoriented systems were several times slower than C and sharedmemory vector and SIMD machines reigned supreme To day concurrent ob jectoriented programming has b een p opularized and networks of workstations NOWs are the rage To day the sequential eciency of the Concert system matches C exceeds that of C and the parallel eciency approaches FORTRAN with message passing This thesis is organized into four parts The rst part is background Chapters and If you are already familiar with ob jectoriented and concurrent ob jectoriented concepts you may still wish to read the summaries Sections and which dene some useful terms The second part describ es the compilation framework in general Chapter and the Illinois Concert system in particular The third part comprises the b o dy of this thesis For readers interested in particular analyses or transformations I have tried to make Chapters through relatively indep endent by including some background information and references back to the p ertinent earlier parts of this thesis Finally part four Chapter discusses adaptive sequentialparallel execution vi Table of Contents Chapter Intro duction Thesis Summary The Concert System Results Contributions Organization Programming Mo del Ob jectOrientation Abstract Data Typ es Polymorphism Inheritance Dynamic Dispatch Parametric Polymorphism Implementation Issues Concurrency Concurrent Statements Concurrent Ob jects Naming Lo cation and Distribution Implementation Issues Languages Concurrent Aggregates CA vii Illinois Concert C ICC Example Language Related Work Ob jectOriented Programming Concurrent Ob jectOriented Programming Parallel C Summary Execution Mo del Hardware Micropro cessor Distributed Memory Multicomputer Implementation Issues Software Threads Ob jects Slots Tags Lo cks Messages Global Shared Name Space Scheduling Implementation Issues Sp ecialization and Memory Map Conformance Load Balance and Data Distribution Memory Allo cation and Garbage Collection Runtime Related Work Summary The Compilation Framework Concert viii Ob jective Philosophy Parts of the System Timetable Compiler Overview Retargetable Front End Program Graph Construction Analysis Transformation Co de Generation Runtime Target Machines SPARCWorkstation Thinking Machines Corp oration Connection Machine Cray Research TD Related Work Summary Adaptive Flow Analysis Background Constraintbased Analysis Program Representation .