67 citations found. Retrieving documents...
K.M. Chandy and C. Kesselman. Compositional c++: Compositional parallel programming. Technical report, California Institute of Technology, 1992. Technical Report Caltech CS-TR-92-13.

 Home/Search   Document Not in Database   Summary   Related Articles   Check  

This paper is cited in the following contexts:

First 50 documents  Next 50

Support for Extensibility and Reusability in a Concurrent.. - Pandey, Browne (1996)   (1 citation)  (Correct)

....user classes to associate the computational and interaction behaviors with user defined abstractions. Such classes support reusability of both computational and interaction behavior specifications. We present an example of a generic concurrent class below: Example 5.1. Generic sync class) CC [5] supports the notion of sync synchronization variables. A sync variable is a write once read many variable. All reads to the variable are delayed until the first write has taken place. In CYES C , a generic class that captures the computational and interaction behavior of a sync variable is ....

....based on abstract data types (ADT) such as Monitors [9] ADT with path expressions [3] and iv) actorbased approaches [1] Further, many object oriented concurrent programming languages have used C as the basis for including concurrency and synchronization. Examples of such languages are: CC [5], Mentat [8] Charm [13] COOL [4] C [2] and ACT [11] The different approaches to interaction specification in these languages can be categorized into three: i) languages that use traditional synchronization primitives such as locks and semaphores [4, 2] write once read manyvariables ....

[Article contains additional citation context not shown here]

K. Mani Chandy and Carl Kesselman. Compositional C++: Compositional Parallel Programming. Technical Report Caltech-CS-TR-92-13, Cal Tech, 1992.


User Transparency: A Fully Sequential Programming Model for.. - Seinstra, Koelma (2004)   (Correct)

....to an existing high level programming language such as C C , Fortran, or Java. Probably the most popular example of a language that has adopted this approach is HPF (High Performance Fortran [29] Also, many alternative extensions and modifications to C exist [30] of which Compositional C [31] and Mentat [32] are the most significant examples. Irrespective of language design and compilation issues, for users of such languages the most important problem is that it is often required to understand in what situations the compiler can produce efficient executable code. For example, HPF ....

Chandy KM, Kesselman C. Compositional C++: Compositional parallel programming. Technical Report TR-92-13, California Institute of Technology, 1992.


High Level Support for Distributed High Performance Computing - Laure (2001)   (Correct)

....tasks such that the target platform is exploited efficiently. Specifically, a large number of processors requires a large number of tasks which is often not available within an application. Task parallelism is provided by task parallel languages such as Linda [45] Fortran M [75] Fx [96] CC [52], and Orca [11] With the growing popularity of distributed object computing a number of middleware [28] systems that provide task parallel features have been developed. Examples include CORBA [155] and Microsoft s DCOM [110] Traditionally, either data parallelism or task parallelism has been ....

M. Chandy and C. Kesselman. Compositional C++: Compositional Parallel Programming. In Languages and Compilers for Parallel Computing, 5th International Workshop, Lecture Notes in Computer Science, No. 757, pages 124--144. Springer Verlag, August 1992.


STAR/MPI: Binding a Parallel Library to Interactive Symbolic.. - Cooperman (1995)   (3 citations)  (Correct)

....enjoys a great deal of popularity. It is hoped that this work can be ported to other popular parallel libraries as the need arises. Among the enhancements to the C syntax and semantics, there are also several notable integrations of a noninteractive language (C and C ) with parallel programming [1, 3, 6]. An alternative to MPI would have been to translate the syntax and semantics of a parallel extension of C into the semantics of an existing interactive language on top of C. Such a task presents a dilemma. Translating the syntax of the parallel extensions of C into parallel extensions of the ....

....myfactor(number) would then be called on master and slaves at the same time. A standard sieve algorithm is used. The master assigns 1000 consecutive numbers to a slave to test for the presence of factors. It returns a list of factors and their exponents. For example, myfactor(12) returns [ 2,2] [3,1]] 2 3 = 12) function myfactor (num) sqrt : ceiling(sqrt(num) currNum : 1; answer : MasterSlave( getTask: function( ifcurrNum sqrt then currNum : currNum 1; return currNum; doTask: 4 function(tstNum) for j from tstNum to tstNum 1000 do ifnum mod j = 0 then Set ....

K.M. Chandy and C. Kesselman, \Compositional C++: Compositional Parallel Programming", Proceedings of the Fourth Workshop on Parallel Computing and Compilers, Springer-Verlag, to appear.


Type Systems for Distributed Data Sharing - Liblit, Aiken, Yelick (2001)   (3 citations)  (Correct)

....global pointers to shared data. In effect, these languages offer only global shared and local mixed. Although private data exists at run time, the static type system cannot identify it in a useful manner, and many of the clients listed in Section 2.2 cannot be deployed. Also in the C family, CC [12] and Split C [14] do not directly address the notion of private data. This may mean that all data is presumed shared, but it is difficult to know exactly what semantics are required, especially with regard to code reordering and other aggressive optimizations. Cilk explicitly treats all memory as ....

K. M. Chandy and C. Kesselman. Compositional C++: Compositional parallel programming. Lecture Notes in Computer Science, 757:124--144, 1993.


A Grid Programming Primer - Lee, Matsuoka, Talia, Sussman.. (2001)   (2 citations)  (Correct)

....multi protocol communication suitable for grid environments is Nexus [31] In Nexus terminology, a remote service request (RSR) is passed between contexts. Nexus has been used to built run time support for languages to support parallel and distributed programming, such as Compositional C [21], and also MPI. We note that remote procedure call (RPC) or remote method invocation (RMI) are forms of one sided communication. These are discussed later. 5.2.3 Evaluation Usability: Message passing is inherently easy to understand and, hence, to use. However, it is constrained by this very ....

K. Chandy and C. Kesselman. Compositional C++: Compositional parallel programming. In Languages and Compilers for Parallel Computing, 6th International Workshop Proceedings, pages 124--44, 1993.


Low-Contention Depth-First Scheduling of Parallel Computations.. - Fatourou (2001)   (1 citation)  (Correct)

....of ffl as small as e GammaT 1 , the space complexity of our algorithm is at most S1 O(PT1 log(PT1 ) with probability at least 1 Gamma e GammaT 1 . These bounds include all time and space costs for both the computation and the scheduler. 1 Introduction Many parallel programming languages [3, 7, 11, 12, 14, 18, 20, 22, 28] support dynamic threads. The multithreaded model of parallel computation is a general approach to model This work was done while the author was affiliated with the MaxPlanck Institute fur Informatik, Saarbrucken, Germany and was partially supported by the IST Programme of the European Union under ....

K. Chandy and C. Kesselman. Compositional c++: compositional parallel programming. In Proceedings of the International Workshop on Languages and Compilers for Parallel Computing, pages 124--144. New Haven, August 1992.


A Dataflow-Based Software Integration Model in Parallel and.. - Cheng (1996)   (Correct)

....processes communicate via established channels. Channels and processes can be created dynamically during the execution. Support of concurrent program modularity that is enforced at the language level and task parallelism are the major motivation and features in Fortran M. Similar systems are CC [2] and CSP [124] Besides specific capability in their own strengths, namely, AVS for data visualization, PVM for portable message passing program development, and Fortran M for developing modular task parallel programs, all three systems can be used to integrate different services and parallel ....

....and object oriented programming paradigms and can be thought of as an example of this category. Another example can be found in [6] in which functional and logic programming paradigms are integrated into a single language. Among those using this approach in a parallel programming language, CC [2] and FortranM [14] are examples that have attempted to integrate into a single language framework different paradigms of parallel programming such as dataparallel, task parallel and object parallel paradigms, imperative and declarative programming, shared memory, and message based programs. This ....

K. M. Chandy, C. Kesselman. Compositional C++: Compositional Parallel Programming, Technical Report, California Institute of Technology, 1992.


Metacomputing with MILAN - Baratloo, Dasgupta, Karamcheti, Kedem (1999)   (6 citations)  (Correct)

....program. Each parallel step specifies the independent execution of multiple concurrent tasks or a family of such tasks. Chime extends Calypso to provide nested parallel steps and inter thread communication primitives (as expressed in the shared memory parallel language, Compositional C [8]) Charlotte provides a Calypso like programming system and runtime environment for the Web. In addition to these systems, the MILAN project has also produced two general tools: ResourceBroker [4] and KnittingFactory [5] which support resource discovery and integration in distributed and ....

....features. The internals of Chime are significantly different from Calypso, and it runs on the Windows NT operating system [27] Chime is the first system that provides a true general shared memory multiprocessor environment on a network of machines. It achieves this by implementing the CC [8] language (shared memory part) on a distributed system. Thus in addition to Calypso features of fault tolerance and load balancing Chime provides: ffl True multi processor shared memory semantics on a network of machines. ffl Block structured scoping of variables and non isolated distributed ....

[Article contains additional citation context not shown here]

M. Chandy and C. Kesselman. Compositional C++: Compositional parallel programming. In Proceedings of the International Workshop on Languages and Compilers for Parallel Computing, 1992.


A Parallel Software Infrastructure for Dynamic Block-Irregular.. - Kohn (1995)   (12 citations)  (Correct)

....sequence of operations to an array or collection of data objects distributed across processors. The task parallel programming model takes a different approach in which programs consist of a number of asynchronous, independent, communicating parallel processes. Task parallel languages such as CC [41], CHARM [125] CHARM [90] Fortran M [74] and Linda [39] define a set of mechanisms that coordinate process execution and communication among autonomous tasks. Task parallelism provides no explicit support for data decomposition. Task parallelism is ideally suited for computations integrating ....

....and structured adaptive mesh methods. Of course, there are many applications that LPARX does not address. LPARX does not support the unstructured methods targeted by CHAOS [60] nor does it provide the dynamic irregular data types of Multipol [40] It cannot handle the task parallelism of CC [41] or Fortran M [74] LPARX applies only to problems with irregular, block structured data exhibiting coarse grain data parallelism. Recent work with the Structural Abstraction (SA) model [13] extends the LPARX ideas to address other classes of irregular scientific applications (e.g. unstructured ....

[Article contains additional citation context not shown here]

K. M. Chandy and C. Kesselman, Compositional C++: Compositional parallel programming, in Fifth International Workshop of Languages and Compilers for Parallel Computing, New Haven, CT, August 1992.


Event-based Composition of Concurrent Programs - Pandey, Browne (1993)   (1 citation)  (Correct)

....the interfaces. Examples of structured approaches are Monitor [Hoa74] abstract data types with Path Expressions [CH74, And79] or abstract expressions [AHV85] 21 Mediators [GC86] rendezvous based models [Geh84, GR86] remote procedure call models [BN84] and concurrent object oriented models [Ame87, YBS87, TS89, CK92, WKH92]. There are two possible sources of concurrency and interactions among programs in such models: i) External interaction and concurrency: these arise when a program C requests for a service through an interface I k . The requested service and C can both execute in parallel and interact. ii) ....

K. Mani Chandy and Carl Kesselman. Compositional C++: Compositional Parallel Programming. Technical Report Caltech-CS-TR-92-13, Cal Tech, 1992.


Support for Extensibility and Re-usability in CYES-C++ - Raju Pandey Browne   (Correct)

....programming languages show promise in alleviating the modularity and extensibility problems. Concurrent objects form a natural basis for modeling entities of applications. Further, extensibility is naturally supported through the notion of inheritance. Many object oriented programming languages [3, 5, 1, 2] have been proposed that extend a sequential object oriented programming language by adding mechanisms for specifying concurrency and interaction. We note that the modifiability and extensibility problems are present in many concurrent object oriented programming languages as well. For instance, ....

....user classes to associate the computational and interaction behaviors with user defined abstractions. Such classes support re usability of both computational and interaction behavior specifications. We present an example of a generic concurrent class below: Example 0.4. Generic sync class) CC [2] supports the notion of sync synchronization variables. A sync variable is a write once read many variable. All reads to the variable are delayed until the first write has taken place. In CYES C , a generic class that captures the computational and interaction behavior of a sync variable is ....

K. Mani Chandy and Carl Kesselman. Compositional C++: Compositional Parallel Programming. Technical Report CaltechCS -TR-92-13, Cal Tech, 1992.


Experience with Parallel Symbolic Applications in Orca - Bal, Langendoen, Bhoedjang (1995)   (Correct)

....abstract models have been proposed for parallel programming,most multicomputer applications are still written using low level message passing libraries. The advantages of high level (e.g. functional, logical, or object oriented) parallel languages have been described extensively in the literature [8, 21, 27, 29, 23, 40, 13]. Most parallel programmers, however, still choose message passing systems like PVM [42] or MPI [16] which are used in combination with traditional imperative languages. The reasons for this choice have to do with efficiency, compatibility with existing sequential code, and the unfamiliarity with ....

....race conditions involving messages and locking, but concurrent operations on the same object can lead to nondeterministic behavior. The advantage of nondeterminism, however, is that it is possible to exploit speculative computation and hide latency. Some message passing languages (e.g. CC [13] and Fortran M[17] allow users to make their programs deterministic by obeying certain restrictions. In Fortran M, for example, deterministic execution can be obtained by using only a single sender and receiver for each channel. In this way, the user has a choice between writing deterministic ....

K.M. Chandy and C. Kesselman. Compositional C++: Compositional parallel programming. Technical Report TR-92-13, California Institute of Technology, 1992.


A Compositional Approach to Concurrent Object-Oriented.. - Pandey, Browne (1994)   (3 citations)  (Correct)

.... languages; ii) approaches based on message passing such as CSP [13] iii) approaches based on abstract data types (ADT) such as Monitors [12] ADT with path expressions [5] and SR [3] iv) approaches based on sequential objects such as POOL T [2] ABCL 1 [28] Concurrent SmallTalk [27] CC [6], Mentat [11] and Charm [15] and v) actor based approaches [1] The languages differ in their support for internal and external concurrency and interaction, and inheritance. We first look at languages for their support of concurrency within objects. Languages such as Monitor [12] POOL T [2] ....

....out by specifying additional constraints that serialize different method invocations. In this framework, certain method invocations may be concurrent at the program model level, while their executions may be serialized at the execution model level. Languages such as Path Expression [5] CC [6], PO [7] and Mediator [10] also support concurrent method invocations within objects. Two kinds of synchronization mechanisms are used for specifying interaction behavior of methods. The first, called interface control mechanism, is used to select a set of method requests from among concurrent ....

[Article contains additional citation context not shown here]

K. Mani Chandy and Carl Kesselman. Compositional C++: Compositional Parallel Programming. Technical Report Caltech-CS-TR-92-13, Cal Tech, 1992.


Parallel Programming with Parallel Sets in C - Michael Kilian Commercial   (Correct)

.... As the number of objects executing in parallel grows, figuring out what the program is doing at any one point in time becomes extremely difficult [Kil92b] The parallel set model takes a data parallel approach [TMC86] This has become more prevalent in recent years (e.g. pC [LG91] CC [CK93] and C [LRV92] The advantage of the data parallel approach is that it offers well defined synchronization points and a well understood execution graph (see [Kil92a] for more details) This leads to highly parallel programs on massively parallel processors that are nevertheless ....

K. Mani Chandy and Carl Kesselman. Compositional C++: Compositional Parallel Programming. Probably a CIT Technical Report, 1993.


Optimization of Data Remapping in Data-Parallel Languages - Mehofer (1998)   (Correct)

....1. INTRODUCTION 3 executes the same (parameterized) code in a loosely synchronous fashion. Synchronization and exchange of data is handled by the compiler by inserting appropriate code. Languages providing support for managing task parallelism at a high level include LINDA [3] Strand [29] CC [11], and Fortran M [28] Recently, a major research effort has been put on the issue of integrating task and data parallelism. Examples include Orca [7] Fx [76, 77] Approved Extensions for Data and Task Parallelism in HPF 2.0 [25] and Opus [12] In this work we develop compiler optimizations for ....

K.M. Chandy and C. Kesselman. Compositional C++: Compositional Parallel Programming. In Languages and Compilers for Parallel Computing, 5th International Workshop, Lecture Notes in Computer Science, Vol. 757, pages 124--144. Springer Verlag, August 1992.


Imperative Concurrent Object-Oriented Languages: An Annotated.. - Philippsen (1995)   (3 citations)  (Correct)

....from the University of Washington. The authors claim that this package can easily be ported to new machines. Available from: ftp: csvax.cs.caltech.edu comp CC 11 Email addresses: K. Mani Chandy Gamma mani vlsi.caltech.edu Carl Kesselman Gamma carl vlsi.caltech.edu References: 45] [58] [59] 82] 2.27 Concurrency Class for Eiffel Developer: University of California, Santa Barbara Description: oo. This is an Eiffel library. The base language is not altered. memory model. Each active object has its own address space. Access to active objects is through local proxies, that ....

K. Mani Chandy and C. Kesselman. Compositional C++: Compositional parallel programming. In Proc. of the 5th Int. Workshop on Languages and Compilers for Parallel Computing, number 757 in Lecture Notes in Computer Science, pages 124-- 144, New Haven, Connecticut, August 3--5, 1992. Springer-Verlag Berlin, Heidelberg, New York.


Imperative Concurrent Object-Oriented Languages - Philippsen (1995)   (3 citations)  (Correct)

.... CLIX [120] Phi Phi Delta Delta H H A A Phi Phi Delta Delta H H A A y t i v i t c a y r a d n u o b COB [118] Phi Phi Delta Delta H H A A Phi Phi Delta Delta H H A A y t i v i t c a y r a d n u o b Compositional C , CC [54, 67, 68, 91] Phi Phi Delta Delta H H A A Phi Phi Delta Delta H H A A Phi Phi Delta Delta H H A A Phi Phi Delta Delta H H A A Phi Phi Delta Delta H H A A Phi Phi Delta Delta H H A A m y t i v i t c a y r a d n u o b ....

K. Mani Chandy and C. Kesselman. Compositional C++: Compositional parallel programming. In Proc. of the 5th Int. Workshop on Languages and Compilers for Parallel Computing, number 757 in Lecture Notes in Computer Science, pages 124--144, New Haven, Connecticut, August 3--5, 1992. Springer-Verlag Berlin, Heidelberg, New York.


Scheduling Threads for Low Space Requirement and Good Locality - Narlikar (1999)   (6 citations)  (Correct)

....of dynamic, lightweight threads. These include data parallel languages like HPF [22] or Nesl [5] where the sequence of instructions executed over individual data elements are the threads ) dataflow languages like ID [16] control parallel languages with fork join constructs like Cilk [20] CC [13], and Proteus [29] languages with futures like Multilisp [39] and various user level thread libraries [3, 17, 30, 43] In the lightweight threads model, the programmer simply expresses all the parallelism in the program, while the language implementation performs the task of scheduling the ....

K. M. Chandy and C. Kesselman. Compositional c++: compositional parallel programming. In Proc. Intl. Wkshp. on Languages and Compilers for Parallel Computing, pages 124--144, New Haven, CT, August 1992.


Para++: C++ bindings for Message Passing - Coulaud, Dillon (1997)   (Correct)

....parallel programming by providing more abstract models. Indeed, they offer various features to allow the design of parallel codes. In such cases, abstraction is usually reached by hiding explicit communications and synchronizations in a particular programming paradigm. PCN [7] Compositional C [3], High Performance Fortran (HPF) are part of this approach. Unfortunately, how efficiently this approach can be implemented remains an open question. The last approach is represented by low level programming languages. These languages are based on explicit mechanisms for data distribution, ....

....of parallel extensions have appeared. The most popular are Fortran D[8] Fortran M[6] HPF. Looking at C language it gets really harder to design an efficient parallel extension. Few extensions already have been designed, all based on different concepts. Some of them have emerged, namely CC [3], pC [1] or C [2] More formally, a US consortium called High Performance C (HPC 1 ) also tries to define a standard model for parallel programming based on C . This model is aimed at enabling the writing of portable parallel applications and at providing a target language for vendors ....

M. Chandy and C. Kesselman. Compositional C++: Compositional Parallel Programming. Technical Report CS-TR-92-13, California Institute of Technology, septembre 1992. http://www.compbio.caltech.edu.


Metacomputing with MILAN - Baratloo, Dasgupta, Karamcheti, Kedem (1999)   (6 citations)  (Correct)

....program. Each parallel step specifies the independent execution of multiple concurrent tasks or a family of such tasks. Chime extends Calypso to provide nested parallel steps and inter thread communication primitives (as expressed in the shared memory parallel language, Compositional C [8]) Charlotte provides a Calypso like programming system and runtime environment for the Web. In addition to these systems, the MILAN project has also produced two general tools: ResourceBroker [4] and KnittingFactory [5] which support resource discovery and integration in distributed and ....

....features. The internals of Chime are significantly different from Calypso, and it runs on the Windows NT operating system [27] Chime is the first system that provides a true general shared memory multiprocessor environment on a network of machines. It achieves this by implementing the CC [8] language (shared memory part) on a distributed system. Thus in addition to Calypso features of fault tolerance and load balancing Chime provides: True multi processor shared memory semantics on a network of machines. Block structured scoping of variables and non isolated distributed ....

[Article contains additional citation context not shown here]

M. Chandy and C. Kesselman. Compositional C++: Compositional parallel programming. In Proceedings of the International Workshop on Languages and Compilers for Parallel Computing, 1992.


Software Issues In High-Performance Computing And A.. - Peter Mills Lars (1994)   (Correct)

....theories parameterization both generalizes polymorphism and enhances reusability. Process (or task) parallel computations can also be succinctly expressed with a small set of process creation and synchronization primitives similar to those adopted in recent languages such as PCN [7] CC [6], and COOL [5] In particular, communication is through a shared object model in which the access to shared state is controlled through object methods and class directives which constrain mutual exclusion of methods [16] Predefined classes such as for single assignment objects which synchronize a ....

K. Mani Chandy and Carl Kesselman. Compositional C++: Compositional parallel programming. In Proc. of the 4th Workshop on Parallel Computing and Compilers. Springer-Verlag, 1992.


Scheduling Threads for Low Space Requirement and Good Locality - Narlikar (1999)   (6 citations)  (Correct)

....of dynamic, lightweight threads. These include data parallel languages like HPF [22] or Nesl [5] where the sequence of instructions executed over individual data elements are the threads ) dataflow languages like ID [16] control parallel languages with fork join constructs like Cilk [20] CC [13], and Proteus [29] languages with futures like Multilisp [39] and various user level thread libraries [3, 17, 30, 43] In the lightweight threads model, the programmer simply expresses all the parallelism in the program, while the language implementation performs the task of scheduling the ....

K. M. Chandy and C. Kesselman. Compositional c++: compositional parallel programming. In Proc. Intl. Wkshp. on Languages and Compilers for Parallel Computing, pages 124--144, New Haven, CT, August 1992.


Repeatable and Portable Message-Passing Programs - Robert Cypher (1994)   (2 citations)  (Correct)

....input on the same hardware system. As a result of these difficulties, there is a need for a systematic understanding of the application properties that ensure repeatability and portability. Several languages have been created with the goal of supporting the development of repeatable applications [9, 2, 3]. However, these languages have communication primitives that are fundamentally different from those studied here. For example, the Fortran M language [9] performs messages passing using only blocking sends and receives, assumes an infinite amount of system buffer space, and addresses messages to ....

....Fortran M language [9] performs messages passing using only blocking sends and receives, assumes an infinite amount of system buffer space, and addresses messages to ports rather than processes. Languages that communicate via single assignment logic variables, such as PCN [3] and Compositional C [2], do not have the concepts of nonblocking communication, synchronous communication, buffer limitations or message ordering properties. This paper makes two main contributions. First, it defines a set of program executions (called safe executions) that are guaranteed to be repeatable and portable. ....

K. M. Chandy, C. Kesselman, Compositional C++: Compositional Parallel Programming, Proc. 5th Intl. Workshop on Languages and Compilers, U. Banerjee (ed.), Springer-Verlag, pp. 124-144, Aug. 1992.


Transformations for the Optimistic Parallel Execution of.. - Back, Turner (1996)   (Correct)

....a parallelization technique, using the Virtual Time Machine. Winter, Kalantery and Wilson [11] have proposed the use of mainly conservative synchronization techniques to provide a new parallel architecture model. Our research also differs from the numerous parallel C projects, for example CC [5] or Mentat [9] in that these projects generally aim to define extensions to the C language. Such extensions provide explicit ways of expressing parallelism, whereas our approach is to extract parallelism from an object oriented program, whilst preserving the semantics of the original sequential ....

KM Chandy and C Kesselman. Compositional C++ : Compositional parallel programming. In Proceedings of the Fourth Workshop on Parallel Computing and Compilers, 1992.


Integrating Task and Data Parallelism Using Shared Objects - Hassen, Bal (1996)   (8 citations)  (Correct)

....and by the low throughput and the high latency of the Ethernet. 5 Related Work Many parallel languages support only data parallelism, for example High Performance Fortran (HPF) 15] and pC [4] Likewise, many task parallel languages have been designed, such as Mentat [10] Compositional C [6], and Orca. A task parallel language can be used to write data parallel applications, but doing so is often awkward. For example, the implementation of Successive OverRelaxation in Orca has the partitioning of the grid hardwired into the program. The grid cannot be stored in a single Orca object, ....

K. Chandy and C. Kesselman. Compositional C++: Compositional parallel programming. Technical Report CS-TR-92-13, California Institute of Technology, 1992.


Partitioning and Distribution Strategies as First Class Objects - Panwar, Agha   (Correct)

....approach using parallel sets of a given types is presented in [23] Some approaches extend the sequential object oriented language C with constructs for parallel computing. In particular, Chandy and Kesselman have extended C with parallel programming constructs such as par , parfor and spawn [11]. Another effort whose goal is to introduce concurrency in C is [8] They present C , a dialect of C which adds features such as coroutines, monitors and threads. An object based model called Distributed Collection Model for parallel programming is presented in [24] along with an ....

K. M. Chandy and C. Kesselman. Compositional c++: Compositional parallel programming. Technical Report Caltech-CS-TR-92-13, California Institute of Technology, Computer Science Department, 1992.


The Design and Evaluation of a Shared Object System for.. - Scales, Lam (1994)   (74 citations)  (Correct)

.... to eliminate anti dependence constraints between processors; a processor can continue to read an older version of a data item while another processor generates another version (using a different name) The concept of singleassignment values have been used in a variety of parallel languages [10, 9, 13, 14, 20] as a way of exposing parallelism and synchronizing independent tasks. Such systems often must deal with problems of excessive memory usage and data copying as shared data items are created and modified. SAM avoids these problems by requiring that the programmer explicitly supply information on ....

K. M. Chandy and C. Kesselman. Composition C++: Compositional Parallel Programming. In Fifth Workshop on Languages and Compilers for Parallel Computing, pages 124--144, Aug. 1992.


Event-based Composition of Concurrent Programs - Pandey, Browne (1993)   (1 citation)  (Correct)

....the interfaces. Examples of structured approaches are Monitor [Hoa74] abstract data types with Path Expressions [CH74, And79] or abstract expressions [AHV85] Mediators [GC86] rendezvous based models [Geh84, GR86] remote procedure call models [BN84] and concurrent object oriented models [Ame87, YBS87, TS89, CK92, WKH92]. There are two possible sources of concurrency and interactions among programs in such models: i) External interaction and concurrency: these arise when a program C requests for a service through an interface I k . The requested service and C can both execute in parallel and interact. ii) ....

K. Mani Chandy and Carl Kesselman. Compositional C++: Compositional Parallel Programming. Technical Report Caltech-cs-tr-92-13, Cal Tech, 1992.


A DAta-Parallel Programming Library for Education (DAPPLE) - David Kotz   (Correct)

....model, but it requires a new compiler and is not yet available. pC [BBG 93] can also provide a data parallel model, using only a preprocessor and library, but its syntax is a little complicated for beginners. Other data parallel options like Presto [Kil92] and Compositional C [CK92] are also rather complex for beginners. Others, like Mentat [Gri93] CHARM [KK93] and COOL [CGH94] are more task parallel than dataparallel. Finding no suitable existing language, we decided to design and implement our own language as a set of macros and classes that extended C . The result ....

K. Mani Chandy and Carl Kesselman. Compositional C++: Compositional parallel programming. Technical Report CS-TR-92-13, California Institute of Technology, 1992.


A Methodology for Programming Scalable Architectures - Panwar, Agha (1994)   (2 citations)  (Correct)

....arrays statically. A number of approaches extend the sequential object oriented language C with constructs for parallel computing. In particular, Chandy and Kesselman have developed Compositional C (CC ) which extends C with parallel programming constructs such as par , parfor and spawn [13]. CC allows multiple threads per object and objects do not necessarily represent computational agents that compute concurrently. Synchronization between concurrently executing components uses single assignment objects called sync objects. Another effort whose goal is to introduce concurrency ....

K. M. Chandy and C. Kesselman. Compositional C++: Compositional parallel programming. In G. Agha, P. Wegner, and A. Yonezawa, editors, Research Directions in Object-Oriented Programming. MIT Press, 1993.


Converse : An Interoperable Framework for Parallel Programming - Laxmikant Kal'e (1996)   (8 citations)  (Correct)

....for features that it does not need. 1 Introduction Research on parallel computing has produced a number of different parallel programming paradigms, architectures and algorithms. There is a wealth of parallel programming paradigms such as SPMD [14, 12] data parallel [9, 8, 3] object oriented [1, 3, 4, 5, 11], thread based [7, 4, 10] macro dataflow, functional languages, logic programming languages, and combinations of these. However, not all parallel algorithms can be efficiently implemented using a single parallel programming paradigm. It may be desirable to write different components of an ....

....need. 1 Introduction Research on parallel computing has produced a number of different parallel programming paradigms, architectures and algorithms. There is a wealth of parallel programming paradigms such as SPMD [14, 12] data parallel [9, 8, 3] object oriented [1, 3, 4, 5, 11] thread based [7, 4, 10], macro dataflow, functional languages, logic programming languages, and combinations of these. However, not all parallel algorithms can be efficiently implemented using a single parallel programming paradigm. It may be desirable to write different components of an application in different ....

K.M. Chandy and C. Kesselman. Compositional C++: Compositional Parallel Programming. In Proceedings of the Fourth Workshop on Parallel Computing and Compilers. Springer-Verlag, 1992.


Visualisation of Concurrent and Object-Oriented Programs - Widjaja, Oudshoorn   (Correct)

....a consolidated event database. This database can further be processed to become an input to other post mortem, eventbased [20] performance visualisation systems, such as ParaGraph [5] 5 Status Visor is currently under implementation. The target language for visualisation is C [17] and CC [3], a C based concurrent language. The visualisation subsystem of Visor uses X Windows Motif [6] and POLKA [16] a graphics package from Georgia Institute of Technology for building visualisation for parallel programs. 6 Related Work Many tools have been developed to address the problem of ....

K.M. Chandy and C. Kesselman. Compositional C++: Compositional parallel programming. Technical Report CS-TR-92-13, Department of Computer Science, California Insitute of Technology, 1992.


Lazy Threads: Compiler and Runtime Structures for Fine-Grained.. - Goldstein (1997)   (3 citations)  (Correct)

.... of compiler techniques and clever runtime representations [16, 36, 44, 48, 49, 53, 57, 61, 63] or by supporting fine grained parallel execution directly in hardware [3, 34, 50] These approaches, among others, have been used in implementing parallel programming languages such as ABCL [65] CC [13], Charm [35] Cid [48] Cilk [7] Concert [36] Id90 [16, 49] Mul T [39] and Olden [12] In some cases, the cost of the fork is reduced by severely restricting what can be done in a thread. Lazy Task Creation [44] implemented in Mul T, is the most successful in reducing the cost of a fork. ....

.... thread packages [20, 54, 14, 28] compiler techniques and clever runtime representations [16, 49, 44, 63, 61, 53, 30] and direct hardware support for fine grained parallel execution [34, 3] These approaches have been used to implement many parallel languages, e.g. Mul T [39] Id90 [16, 49] CC [13], Charm [35] Opus [43] Cilk [7] Olden [12] and Cid [48] The common goal is to reduce the overhead associated with managing the logical parallelism. While much of this work overlaps ours, none has combined all of the techniques described in this thesis. More importantly, none has started from ....

K.M. Chandy and C. Kesselman. Compositional C++: compositional parallel programming. In Languages and Compilers for Parallel Computing. 5th International Workshop Proceedings, pages 124--44. Springer-Verlag, 1993.


Lazy Threads: Implementing a Fast Parallel Call - Goldstein, Schauser, Culler (1996)   (8 citations)  (Correct)

....by supporting fine grained parallel execution directly in hardware [3, 19, 31] In many cases, the cost of the fork is reduced by severely restricting what can be done in a thread. These approaches, among others, have been used in implementing parallel programming languages such as ABCL [40] CC [6], Charm [20] Cid [29] Cilk [4] Concert [21] Id90 [9, 30] Mul T [23] and Olden [5] Still, a fork remains substantially more expensive than a simple sequential call. Our goal is to support an unrestricted parallel thread model and yet bring the cost of thread creation, termination, and ....

....language Id90. The C implementation shows that these primitives introduce little or no overhead over sequential programs. The Id90 implementation shows that for complete programs we achieve a substantial improvement over previous work. Our techniques can be applied to other programming languages [6, 40], thread packages [11] and multithreaded execution models. In Section 7 we discuss related work. Our work, Lazy Threads, relies extensively on compiler optimizations and cannot simply be implemented with function calls to a user level threads library without substantial loss of efficiency. ....

[Article contains additional citation context not shown here]

K.M. Chandy and C. Kesselman. Compositional C++: compositional parallel programming. In Languages and Compilers for Parallel Computing. 5th International Workshop Proceedings, pages 124--44. Springer-Verlag, 1993.


A Comparison of Architectural Support for Messaging in the TMC.. - Karamcheti (1995)   (27 citations)  (Correct)

....transport is the essence of messaging and flow control (buffer management) ensures that there is space for messages at the destination. Flow control is required by general messaging models such as ones supported by PVM [13] or MPI [12] and programming models which produce concurrency dynamically [6, 4]. Note that primitives such as PUT GET only specify data movement flow control is still necessary, the source and destination processors must interact to decide where the message must be buffered. If there is no space, the destination must be able to block the source. Programming models with ....

K. Mani Chandy and Carl Kesselman. Compositional C++: Compositional parallel programming. In Fifth Workshop on Compilers and Languages for Parallel Computing, New Haven, Connecticut, 1992.


CHARM++ : A Portable Concurrent Object Oriented System Based.. - Laxmikant Kale   (14 citations)  (Correct)

....Amber objects are passive entities, and thread objects invoke operations on them. The programmer can control object location by migration primitives. Both ESP and Amber do not seem to have been ported to commercial massively parallel computers. There are several other efforts in this area. CC [6] provides various parallel constructs while using C for the sequential portions of the codes. POOL T [2] has parallel objects that can be dynamically created, with a blocking model of communication between objects. Parallel C [19] provides a restricted co begin, co end model of process ....

K. Mani Chandy and Carl Kesselman. Compositional C++: Compositional parallel programming. Technical Report Caltech-CS-TR92 -13, Department of Computer Science, California Institute of Technology, 1992.


A Framework for Space and Time Efficient Scheduling of.. - Narlikar, Blelloch (1996)   (Correct)

....1 Introduction Many of today s high level parallel programming languages provide constructs to express dynamic, finegrained parallelism. Such languages include data parallel languages such as NESL [3] and HPF [21] as well as control parallel languages such as ID [1] Cilk [5] CC [12], Sisal [17] and Proteus [26] These languages allow the user to expose all the parallelism in the program, which is typically of a much higher degree than the number of processors. The language implementation is responsible for scheduling this parallelism onto the processors. If the scheduling ....

K. M. Chandy and C. Kesselman. Compositional c++: Compositional parallel programming. In Proc. 5th. Intl. Wkshp. on Languages and Compilers for Parallel Computing, pages 124--144, New Haven, CT, August 1992.


Space-Efficient Implementation of Nested Parallelism - Narlikar, Blelloch (1996)   (8 citations)  (Correct)

....1 Introduction Many of today s high level parallel programming languages provide constructs to express dynamic, fine grained parallelism. Such languages include data parallel languages such as Nesl [2] and HPF [21] as well as control parallel languages such as ID [1] Cilk [5] CC [12], Sisal [17] Proteus [28] and C with light weight thread libraries [25, 30] These languages allow the user to expose all the parallelism in the program, which is typically of a much higher degree than the number of processors. The language implementation is responsible for scheduling this ....

K. M. Chandy and C. Kesselman. Compositional c++: compositional parallel programming. In Proc. 5th. Intl. Wkshp. on Languages and Compilers for Parallel Computing, pages 124--144, New Haven, CT, August 1992.


Enabling Primitives For Compiling Parallel Languages - Goldstein, schauser, Culler (1995)   (20 citations)  (Correct)

.... of compiler techniques and clever run time representations [7, 19, 23, 16, 25, 20, 18] and by supporting fine grained parallel execution directly in hardware [13, 2] These approaches, among others, have been used in implementing the parallel programming languages Mul T [15] Id90 [7, 19] CC [5], Charm [14] Cilk [3] Cid [18] and Olden [4] In many cases, the cost of the parallel call is reduced by severely restricting what can be done in a thread. In earlier approaches, the full cost of parallelism is borne for all potentially parallel calls, although the parallelism is neither needed ....

....little or no overhead over sequential programs. The Id90 implementation shows that for complete programs we achieve a substantial improvement over previous work. Our work is applicable to many other systems as well. For example, our techniques could be applied to other programming languages [5, 26], thread packages [8] and multithreaded execution models. Our work relies extensively on compiler optimizations; lazy threads cannot simply be implemented with a function call in a user level threads library without substantial loss of efficiency. Because the synthesis between compiler and ....

[Article contains additional citation context not shown here]

K.M. Chandy and C. Kesselman. Compositional C++: compositional parallel programming. In Languages and Compilers for Parallel Computing. 5th International Workshop Proceedings, pages 124--44. Springer-Verlag, 1993.


MRPC: A High Performance RPC System for MPMD Parallel.. - Chang, Czajkowski, von.. (1997)   (2 citations)  (Correct)

.... for meta computing in a heterogeneous, large scale environments because MPMD programs are a lot more loosely coupled than those written in the SPMD style; and it encourages programmers to treat parallel computing software as components, promoting code re use and the ability to compose programs [8]. As an alternative to RPC, lower level messaging layers such as MPI [35] and PVM [32] can be used for MPMD programming and often achieve good performance. However, these systems generally sacrifice the elegance (and IDL support) of an RPC system, and require that the receiver know when to expect ....

....spurred the development of many runtime systems and communication libraries based on RPC. For example, Nexus and Legion are both highly portable runtime systems that support a variety of user level communication protocols and have been used as a compiler target for parallel languages such as CC [8], Fortran M [13] and Mentat [16] Both of these systems are aimed for wide area, large scale parallel computing. These languages and systems implement RPC on top of user level messaging layers such as MPI, PVM, or even TCP sockets. While the implementation is tuned for performance, maintaining ....

K. Chandy and C. Kesselman. Compositional C++: Compositional Parallel Programming. In Proceedings of 6 th International Workshop in Languages and Compilers for Parallel Computing, pages 124-144, 1993.


Empirical Evaluation of the CRAY-T3D: A Compiler.. - Arpaci, Culler.. (1995)   (49 citations)  (Correct)

....Together these dictate the code generation strategy. In this paper we document the results of a gray box language implementation study on the CRAY T3D. The language is Split C, constructed as an extension of gcc, but the study would apply to many languages with similar goals, such as CC [4] and HPF [9] In the remainder of this section we outline the language and the basic machine architecture. In Section 2 we explain our micro benchmarking methodology and characterize the data access performance of the individual node, including a comparison with a standard workstation using the ....

K.M. Chandy and C. Kesselman. Compositional C++: Compositional Parallel Programming. In 5th International Workshop on Languages and Compilers for Parallel Computing, pages 124--44, New Haven, CT, August 1992.


Near-real-time Satellite Image Processing: Metacomputing in.. - Lee, Kesselman, Schwab (1996)   (11 citations)  Self-citation (Kesselman)   (Correct)

.... In this paper, we present a case study in metacomputing: a cloud detection and visualization application for infrared and visible light satellite images that integrates high speed networks, parallel and distributed computing, and stereoscopic visualization using Compositional C (CC ) [1], a simple yet powerful extension of C , and its run time system, Nexus [5] We begin by discussing the problem of metacomputing in a little more depth. 2 Elements of Metacomputing Metacomputing adds another dimension to the system building problem. In addition to making sure that an ....

K.M. Chandy and C. Kesselman. Compositional C++: Compositional parallel programming. In Languages and Compilers for Paral lel Computing, 6th International Workshop Proceedings, pages 124--44, 1993.


Nexus: Runtime Support for Task-Parallel Programming.. - Foster, Kesselman, Tuecke (1994)   (19 citations)  Self-citation (Kesselman)   (Correct)

....which they use Nexus services. Rather than present a comprehensive discussion of compilation strategies, our goal is to present representative examples that illustrate the correspondence between Nexus features and the runtime requirements of these languages. 4. 1 Compiling CC Using Nexus CC [4, 5] is a general purpose parallel programming comprising all of C plus six new keywords. The CC parallel constructs are intended to support the development of parallel class libraries implementing a wide range of different parallel programming styles, for example, synchronous virtual channels, ....

K. Mani Chandy and Carl Kesselman. Compositional C++ : Compositional parallel programming. In Proc. Fifth Int'l Workshop on Parallel Languages and Compilers. Springer-Verlag, 1993.


The Derivation of Compositional Programs - Chandy, Kesselman (1992)   (1 citation)  Self-citation (Chandy Kesselman)   (Correct)

....enforced interfaces. These features, along with its widespread, use motivated our choice of C . Our design methodology is supported by C augmented by small number of simple extensions. We call the resulting language Compositional C or CC . A detailed discussion of CC can be found in [CK92]. Parallel composition in CC is provided by parallel blocks (equivalent to parbegin parend) and a parallel loop construct. Any statement can appear in a parallel block; blocks can be nested. The execution of a parallel block terminates when all statements in the block terminate. A generalization ....

K. Mani Chandy and Carl Kesselman. Compositional C++ : Compositional parallel programming. Technical Report Caltech-CS-TR92 -13, California Institute of Technology, 1992.


Data Abstraction for Parallel Adaptive - Computation Wu Field   (Correct)

No context found.

K.M. Chandy and C. Kesselman. Compositional c++: Compositional parallel programming. Technical report, California Institute of Technology, 1992. Technical Report Caltech CS-TR-92-13.


Type Systems for Distributed Data Structures - Ben Liblit Liblit (2000)   (10 citations)  (Correct)

No context found.

K. M. Chandy and C. Kesselman. Compositional C++: Compositional parallel programming. Lecture Notes in Computer Science, 757:124--144, 1993.


User Transparency: A Fully Sequential Programming Model for.. - Seinstra, Koelma (2002)   (Correct)

No context found.

K.M. Chandy and C. Kesselman. Compositional C++: Compositional Parallel Programming. Technical Report TR-92-13, California Institute of Technology, 1992.


A Compositional Approach to Concurrent Programming - Pandey (1995)   (3 citations)  (Correct)

No context found.

K. Mani Chandy and Carl Kesselman. Compositional C++: Compositional Parallel Programming. Technical Report Caltech-CS-TR-92-13, Cal Tech, 1992.


Support for Implementation of Evolutionary Concurrent Systems - Pandey, Browne (2001)   (Correct)

No context found.

K. Mani Chandy and Carl Kesselman, Compositional C++: Compositional Parallel Programming, Technical Report Caltech-CS-TR-92-13, Cal Tech (1992).

First 50 documents  Next 50

Online articles have much greater impact   More about CiteSeer.IST   Add search form to your site   Submit documents   Feedback  

CiteSeer.IST - Copyright Penn State and NEC