4,628 research outputs found
Recommended from our members
Parallelism encapsulation in C++
Object oriented programming features information hiding and encapsulation, meaning that 1) each object hides the the implementation details tram access from outside and only a set of methods (interface routines) are visible outside of the object, and 2) changes to the implementation of the object do not require changes to the code that uses the object, so long as the interface is stable. However, the interface mechanism in C++ is not adequate to achieve information hiding and encapsulation when writing parallel C++ programs, since the methods are assumed to be invoked in sequence and no parallel interactions are represented by them. Also, even when the methods are the same, changes to the implementation details of the methods often affect the interaction pattern of the methods so the parallel code that uses the methods must be rewitten. To achieve information hiding and encapsulation, we propose adding path expressions to the class interface. Thus either dynamic or automatic parallelization can be used to achieve parallelism encapsulation. A new concept of data dependence analysis is introduced which uses the parallelism described by path expressions to efficiently and automatically parallelize an object-oriented program
Recommended from our members
Computing infrastructure issues in distributed communications systems : a survey of operating system transport system architectures
The performance of distributed applications (such as file transfer, remote login, tele-conferencing, full-motion video, and scientific visualization) is influenced by several factors that interact in complex ways. In particular, application performance is significantly affected both by communication infrastructure factors and computing infrastructure factors. Several communication infrastructure factors include channel speed, bit-error rate, and congestion at intermediate switching nodes. Computing infrastructure factors include (among other things) both protocol processing activities (such as connection management, flow control, error detection, and retransmission) and general operating system factors (such as memory latency, CPU speed, interrupt and context switching overhead, process architecture, and message buffering). Due to a several orders of magnitude increase in network channel speed and an increase in application diversity, performance bottlenecks are shifting from the network factors to the transport system factors.This paper defines an abstraction called an "Operating System Transport System Architecture" (OSTSA) that is used to classify the major components and services in the computing infrastructure. End-to-end network protocols such as TCP, TP4, VMTP, XTP, and Delta-t typically run on general-purpose computers, where they utilize various operating system resources such as processors, virtual memory, and network controllers. The OSTSA provides services that integrate these resources to support distributed applications running on local and wide area networks.A taxonomy is presented to evaluate OSTSAs in terms of their support for protocol processing activities. We use this taxonomy to compare and contrast five general-purpose commercial and experimental operating systems including System V UNIX, BSD UNIX, the x-kernel, Choices, and Xinu
SL: a "quick and dirty" but working intermediate language for SVP systems
The CSA group at the University of Amsterdam has developed SVP, a framework
to manage and program many-core and hardware multithreaded processors. In this
article, we introduce the intermediate language SL, a common vehicle to program
SVP platforms. SL is designed as an extension to the standard C language (ISO
C99/C11). It includes primitive constructs to bulk create threads, bulk
synchronize on termination of threads, and communicate using word-sized
dataflow channels between threads. It is intended for use as target language
for higher-level parallelizing compilers. SL is a research vehicle; as of this
writing, it is the only interface language to program a main SVP platform, the
new Microgrid chip architecture. This article provides an overview of the
language, to complement a detailed specification available separately.Comment: 22 pages, 3 figures, 18 listings, 1 tabl
- …