NDLI logo
  • Content
  • Similar Resources
  • Metadata
  • Cite This
  • Log-in
  • Fullscreen
Log-in
Do not have an account? Register Now
Forgot your password? Account recovery
  1. Proceedings of the 1st international workshop on Multicore software engineering (IWMSE '08)
  2. Parallel computing with x10
Loading...

Please wait, while we are loading the content...

Transactional memory: from semantics to silicon
BlockLib: a skeleton library for cell broadband engine
Stage: exploring erlang style concurrency in ruby
Software engineering for multicore systems: an experience report
Putting intelĀ® threading building blocks to work
The GNU libstdc++ parallel mode: software engineering considerations
Finding synchronization defects in java programs: extended static analyses and code patterns
Developing a concurrent service orchestration engine in ccr
Parallel computing with x10
Software thread-level speculation: an optimistic library implementation
A case study for monitoring-oriented programming in multi-core architecture

Similar Documents

...
X10: an object-oriented approach to non-uniform cluster computing

Article

...
X10:an object-oriented approach to non-uniform cluster computing

Article

...
PCJ - Java library for high performance computing in PGAS model

Article

...
Using the PGAS Programming Paradigm for Biological Sequence Alignment on a Chip Multi-Threading Architecture

Article

...
Maximum weighted matching using the partitioned global address space model

Article

...
Productivity and performance using partitioned global address space languages

Article

...
Maximum weighted matching using the partitioned global address space model.

Article

...
Towards concurrency refactoring for x10

Article

...
Improving data locality for irregular partitioned global address space parallel programs

Article

Parallel computing with x10

Content Provider ACM Digital Library
Author Murthy, PVR
Abstract Many problems require parallel solutions and implementations and how to extract and specify parallelism has been the focus of Research during the last few decades. While there has been a significant progress in terms of (a)automatically deriving implicit parallelism from functional and logic programs, (b) using parallelizing compilers to extract parallelism from serial programs written in Fortran or C mainly by parallelizing loop constructs and (c) evolution of standards such as Message Passing Interface (MPI) to allow a Fortran or C programmer to decompose a problem into a parallel solution, the parallel computing problem is still not solved completely. With the emergence of parallel computing architectures based on multi-core chips, there is a need to rewrite existing software and also develop future software so that parallelism available at the hardware level is fully exploited. Executing concurrent or distributed programs using modern object-oriented programming languages such as Java and C# is possible on two platforms: 1. a uniprocessor or shared memory multiprocessor system on which one or more threads execute against a single shared heap in a single virtual machine and 2. a loosely coupled distributed computing system in which each node has its own virtual machine and communicates with other nodes using protocols such as RMI. Computer systems are already consisting of and will have multicore SMP nodes with non-uniform memory hierarchies interconnected in horizontally scalable cluster configurations. Since the current High Performance Computing programming models do not support the notions of a non-uniform data access or of tight coupling of distributed nodes, the models are ineffective in addressing the needs of such a system. As a consequence, X10 is proposed [1, 2]. The target machine for the execution of an X10 program may range from a uniprocessor machine to a large cluster of parallel processors supporting millions of concurrent operations. The design goals of X10 are to achieve a balance among Safety, Analyzability, Scalability and Flexibility. The X10 programming model uses the serial subset of Java and introduces new features to ensure that a suitable expression of parallelism is the basis for exploiting the modern computer architectures. X10 introduces a Partitioned Global Address Space (PGAS) that materializes as locality in the form of places. To provide a foundation for concurrency constructs in the language, dynamic and asynchronous activities are introduced in X10. To support dense and sparse distributed multi-dimensional arrays, X10 introduces a rich array sub-language. The Java programming model uses the notion of a single uniform heap and this is a limitation in using the language on non-uniform cluster computing systems. Scalability problems are reported in trying to automatically map a uniform heap onto a non-uniform cluster. Places in X10 attempt to address the scalability issue by letting an X10 programmer decide which objects and activities are co-located. To be able to create light-weight threads locally or remotely, X10 introduces the notion of asynchronous activities. The corresponding mechanisms in Java are heavy weight. The language constructs async, future, foreach, ateach, finish, clocks and atomic blocks are designed to co-ordinate asynchronous activities in an X10 program. The elements of an array are distributed across multiple places in the partitioned global address space based on the array's distribution specification. Throughout the program's execution, the distribution remains unchanged. The issues of locality and distribution cannot be hidden from a programmer of high-performance code and X10 reflects this in its design choices. To illustrate X10's features to implement concurrent and distributed computations, sample programs are discussed.
Starting Page 5
Ending Page 6
Page Count 2
File Format PDF
ISBN 9781605580319
DOI 10.1145/1370082.1370086
Language English
Publisher Association for Computing Machinery (ACM)
Publisher Date 2008-05-11
Publisher Place New York
Access Restriction Subscribed
Subject Keyword Java Scalability X10 Data distribution Atomic blocks Non-uniform cluster computing(nucc) Partitioned global address space (pgas) Multi-threading Clocks Places
Content Type Text
Resource Type Article
  • About
  • Disclaimer
  • Feedback
  • Sponsor
  • Contact
  • Chat with Us
About National Digital Library of India (NDLI)
NDLI logo

National Digital Library of India (NDLI) is a virtual repository of learning resources which is not just a repository with search/browse facilities but provides a host of services for the learner community. It is sponsored and mentored by Ministry of Education, Government of India, through its National Mission on Education through Information and Communication Technology (NMEICT). Filtered and federated searching is employed to facilitate focused searching so that learners can find the right resource with least effort and in minimum time. NDLI provides user group-specific services such as Examination Preparatory for School and College students and job aspirants. Services for Researchers and general learners are also provided. NDLI is designed to hold content of any language and provides interface support for 10 most widely used Indian languages. It is built to provide support for all academic levels including researchers and life-long learners, all disciplines, all popular forms of access devices and differently-abled learners. It is designed to enable people to learn and prepare from best practices from all over the world and to facilitate researchers to perform inter-linked exploration from multiple sources. It is developed, operated and maintained from Indian Institute of Technology Kharagpur.

Learn more about this project from here.

Disclaimer

NDLI is a conglomeration of freely available or institutionally contributed or donated or publisher managed contents. Almost all these contents are hosted and accessed from respective sources. The responsibility for authenticity, relevance, completeness, accuracy, reliability and suitability of these contents rests with the respective organization and NDLI has no responsibility or liability for these. Every effort is made to keep the NDLI portal up and running smoothly unless there are some unavoidable technical issues.

Feedback

Sponsor

Ministry of Education, through its National Mission on Education through Information and Communication Technology (NMEICT), has sponsored and funded the National Digital Library of India (NDLI) project.

Contact National Digital Library of India
Central Library (ISO-9001:2015 Certified)
Indian Institute of Technology Kharagpur
Kharagpur, West Bengal, India | PIN - 721302
See location in the Map
03222 282435
Mail: support@ndl.gov.in
Sl. Authority Responsibilities Communication Details
1 Ministry of Education (GoI),
Department of Higher Education
Sanctioning Authority https://www.education.gov.in/ict-initiatives
2 Indian Institute of Technology Kharagpur Host Institute of the Project: The host institute of the project is responsible for providing infrastructure support and hosting the project https://www.iitkgp.ac.in
3 National Digital Library of India Office, Indian Institute of Technology Kharagpur The administrative and infrastructural headquarters of the project Dr. B. Sutradhar  bsutra@ndl.gov.in
4 Project PI / Joint PI Principal Investigator and Joint Principal Investigators of the project Dr. B. Sutradhar  bsutra@ndl.gov.in
Prof. Saswat Chakrabarti  will be added soon
5 Website/Portal (Helpdesk) Queries regarding NDLI and its services support@ndl.gov.in
6 Contents and Copyright Issues Queries related to content curation and copyright issues content@ndl.gov.in
7 National Digital Library of India Club (NDLI Club) Queries related to NDLI Club formation, support, user awareness program, seminar/symposium, collaboration, social media, promotion, and outreach clubsupport@ndl.gov.in
8 Digital Preservation Centre (DPC) Assistance with digitizing and archiving copyright-free printed books dpc@ndl.gov.in
9 IDR Setup or Support Queries related to establishment and support of Institutional Digital Repository (IDR) and IDR workshops idr@ndl.gov.in
I will try my best to help you...
Cite this Content
Loading...