Collective Relocation for Associative Distributed Collections of Objects

2017 ◽  
Vol 5 (2) ◽  
pp. 55-69
Author(s):  
Daisuke Fujishima ◽  
Tomio Kamada

The field of parallel computing has experienced an increase in the number of computing nodes, allowing broader applications, including computations that have irregular features. Some parallel programming languages handle object data structures and offer marshaling/unmarshaling mechanisms to transpose them. To manage data elements across computing nodes, some research on distributed collections has been conducted. This study proposes a distributed collection library that can handle multiple collections of object elements and change their distributions while maintaining associativity between their elements. This library is implemented on an object-oriented parallel programming language, X10. The authors assume pairs of associative collections such as vehicles and streets in a traffic simulation. When many vehicles are concentrated on streets assigned to certain computing nodes, some of these streets should be moved to other nodes. The authors' library assists the programmer in easily distributing the associative collections over the computing nodes and collectively relocating elements while maintaining the data sharing relationship among associative elements. The programmer can describe the associativity between objects by using both declarative and procedural methods. They show a preliminary performance evaluation of their library on a Linux cluster and the K computer.

Author(s):  
Vincenzo De Florio

The programming language itself is the focus of this chapter: Fault-tolerance is not embedded in the program (as it is the case e.g. for single-version fault-tolerance), nor around the language (through compilers or translators); on the contrary, faulttolerance is provided through the syntactical structures and the run-time executives of fault-tolerance programming languages. Also in this case a significant part of the complexity of dependability enforcement is moved from each single code to the architecture, in this case the programming language. Many cases exist of fault-tolerance programming languages; this chapter proposes a few of them, considering three cases: Object-oriented languages, functional languages, and hybrid languages. In particular it is discussed the case of Oz, a multi-paradigm programming language that achieves both transparent distribution and translucent failure handling.


2007 ◽  
Vol 18 (06) ◽  
pp. 1441-1452
Author(s):  
SHENG YU ◽  
QING ZHAO

In this paper, SC-expressions are developed, based on automata theory, for specifying synchronization constraints in parallel object-oriented languages. The predecessor of SC-expressions, the synchronization expressions, was introduced in the ParC parallel programming language in the early nineties [19]. However, ParC is not an object-oriented language and also a number of basic features of synchronization expressions are inadequate for object-oriented languages. SC-expressions are developed for object-oriented environment. They are different from synchronization expressions in basic ideas and assumptions. Here we describe the basic ideas of SC-expressions and their applications in object-oriented languages. We also study the problem of inheritance of the SC-expressions.


1988 ◽  
Vol 18 (8) ◽  
pp. 713-732 ◽  
Author(s):  
Brian N. Bershad ◽  
Edward D. Lazowska ◽  
Henry M. Levy

Author(s):  
Kamil Gut ◽  
Maria Skublewska-Paszkowska ◽  
Edyta Łukasik ◽  
Jakub Smołka

In 2014, Apple unveiled a completely new programming language for the iOS and OS X platforms. Swift was presented as a modern programming language, such as: safe, easy to learn and easy to use. This article presents the performance comparison between the Swift and Objective-C languages. For the purpose of the research, two applications were developed, one in each language, implementing sorting algorithms and data structures such as arrays, dictionaries and sets.


Sign in / Sign up

Export Citation Format

Share Document