Results 1 - 10
of
16
Programming Environments for Multidisciplinary Grid Communities
- Concurrency and Computation: Practice and Experience
, 2002
"... this paper is on supporting multidisciplinary communities of scientists and engineers. We discuss requirements for Grid computing environments (GCEs) in this context, and describe several core support technologies developed to meet these requirements. Our work extends the notion of a programming env ..."
Abstract
-
Cited by 12 (6 self)
- Add to MetaCart
this paper is on supporting multidisciplinary communities of scientists and engineers. We discuss requirements for Grid computing environments (GCEs) in this context, and describe several core support technologies developed to meet these requirements. Our work extends the notion of a programming environment beyond the compile--schedule--execute paradigm, to include functionality such as collaborative application composition, information services, and data and simulation management. Systems designed for five different applications communities are described. These systems illustrate common needs and characteristics arising in multidisciplinary communities and motivate a highlevel design framework for building GCEs that meet those needs. Copyright # 2002 John Wiley & Sons, Ltd
Scientific Workflow Systems for 21st Century, New Bottle or New Wine
- IEEE Workshop on Scientific Workflows
, 2008
"... With the advances in e-Sciences and the growing complexity of scientific analyses, more and more scientists and researchers are relying on workflow systems for process coordination, derivation automation, provenance tracking, and bookkeeping. While workflow systems have been in use for decades, it i ..."
Abstract
-
Cited by 12 (7 self)
- Add to MetaCart
With the advances in e-Sciences and the growing complexity of scientific analyses, more and more scientists and researchers are relying on workflow systems for process coordination, derivation automation, provenance tracking, and bookkeeping. While workflow systems have been in use for decades, it is unclear whether scientific workflows can or even should build on existing workflow technologies, or they require fundamentally new approaches. In this paper, we analyze the status and challenges of scientific workflows, investigate both existing technologies and emerging languages, platforms and systems, and identify the key challenges that must be addressed by workflow systems for e-science in the 21 st century. 1.
Novel Runtime Systems Support for Adaptive Compositional Modeling in PSEs, Future Generation Computing Systems (Special Issue on "Complex PSEs for Grid Computing
- Future Generation Computing Systems (Special Issue
, 2005
"... Problem solving environments (PSEs) have progressed significantly in the past few years. The vision of truly seamless PSEs relies on runtime systems support that is cognizant of the operational issues underlying scientific computations and, at the same time, is flexible enough to accommodate diverse ..."
Abstract
-
Cited by 11 (3 self)
- Add to MetaCart
Problem solving environments (PSEs) have progressed significantly in the past few years. The vision of truly seamless PSEs relies on runtime systems support that is cognizant of the operational issues underlying scientific computations and, at the same time, is flexible enough to accommodate diverse application scenarios. This paper presents a PSE runtime support solution through a novel combination of two computational technologies – Weaves, a source-language independent parallel runtime compositional framework that operates through reverse-analysis of compiled object files, and runtime recommender systems that aid in dynamic knowledge-based application composition. Domain-specific adaptivity is exploited through runtime recommendation of code modules and a sophisticated checkpointing framework for transparent deployment. A core set of “adaptivity schemas ” are provided as templates for adaptive composition of large-scale scientific computations. Implementation issues, motivating application contexts, and preliminary results are described. 1
Multicore Scheduling for Lightweight Communicating Processes
- COORDINATION MODELS AND LANGUAGES, 11TH INTERNATIONAL CONFERENCE, COORDINATION 2009
, 2009
"... Process-oriented programming is a design methodology in which software applications are constructed from communicating concurrent processes. A process-oriented design is typically composed of a large number of small isolated concurrent components. These components allow for the scalable parallel exe ..."
Abstract
-
Cited by 9 (2 self)
- Add to MetaCart
Process-oriented programming is a design methodology in which software applications are constructed from communicating concurrent processes. A process-oriented design is typically composed of a large number of small isolated concurrent components. These components allow for the scalable parallel execution of the resulting application on both shared-memory and distributed-memory architectures. In this paper we present a runtime designed to support process-oriented programming by providing lightweight processes and communication primitives. Our runtime scheduler, implemented using lock-free algorithms, automatically executes concurrent components in parallel on multicore systems. Runtime heuristics dynamically group processes into cache-affine work units based on communication patterns. Work units are then distributed via wait-free work-stealing. Initial performance analysis shows that, using the algorithms presented in this paper, process-oriented software can execute with an efficiency approaching that of optimised sequential and coarse-grain threaded designs.
A RULE-BASED SPECIFICATION SYSTEM FOR COMPUTATIONAL FLUID DYNAMICS By
, 1999
"... ions as a model for parallel computations[10]. These Phase Abstractions are identified by the XYZ levels of programming, where the X level corresponds to an individual sequential processor, the Y level represents a collection of processors working on a common task in a data parallel mode, and the Z ..."
Abstract
-
Cited by 4 (2 self)
- Add to MetaCart
ions as a model for parallel computations[10]. These Phase Abstractions are identified by the XYZ levels of programming, where the X level corresponds to an individual sequential processor, the Y level represents a collection of processors working on a common task in a data parallel mode, and the Z level which represents the control structure "in the large" of an application. It is argued that this model maps well to most parallel architectures, and, as a result, applications built around this model will execute with high efficiency on a wide range of architectural variations. 2.1.4 Bulk-Synchronous Protocol The Bulk-Synchronous Protocol (BSP) has been proposed as a bridging model for parallel computations[11]. The term "bridging model" is used here to describe a model, much like the von Neumann model for sequential architectures, that facilitates development of computer 9 architectures such that certain quantitative guarantees regarding software performance are met. Given such a mod...
A compiler directed framework for parallel compositional systems
- Department of Computer Science, Virginia Polytechnic Institute and State University
, 2002
"... This research proposes a language independent intra-process framework for object based composition of unmodified code modules. Intuitively, the two major programming models- threads and processes- can be considered as extremes along a sharing axis. Multiple threads through a process share all global ..."
Abstract
-
Cited by 2 (1 self)
- Add to MetaCart
This research proposes a language independent intra-process framework for object based composition of unmodified code modules. Intuitively, the two major programming models- threads and processes- can be considered as extremes along a sharing axis. Multiple threads through a process share all global state, whereas instances of a process (or independent processes) share no global state. Weaves provide the generalized framework that allows arbitrary (selective) sharing of state between multiple control flows through a process. In the Weaves framework a single process has the same level of complexity as a workstation, with independent “sub-processes”, state sharing and scheduling, all of which is achieved without requiring any modification to existing code bases. Furthermore, the framework allows dynamic instantiation of code modules and control flows through them. In effect, weaves create intra-process modules (similar to objects in OOP) from code written in any language. Applications can be built by instantiating Weaves to form Tapestries of dynamically interacting code. The Weaves paradigm allows objects to be arbitrarily shared – it is a true superset of both processes as well as threads, with code
Weaves: A novel direct code execution interface for parallel high performance scientific codes
, 2002
"... Scientific codes are increasingly being used in compositional settings, especially problem solving environments (PSEs). Typical compositional modeling frameworks require significant buy-in, in the form of commitment to a particular style of programming (e.g., distributed object components). While th ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
Scientific codes are increasingly being used in compositional settings, especially problem solving environments (PSEs). Typical compositional modeling frameworks require significant buy-in, in the form of commitment to a particular style of programming (e.g., distributed object components). While this solution is feasible for newer generations of component-based scientific codes, large legacy code bases present a veritable software engineering nightmare. We introduce Weaves – a novel framework that enables modeling, composition, direct code execution, performance characterization, adaptation, and control of unmodified high performance scientific codes. Weaves is an efficient generalized framework for parallel compositional modeling that is a proper superset of the threads and processes models of programming. In this paper, our focus is on the transparent code execution interface enabled by Weaves. We identify design constraints, their impact on implementation alternatives, configuration scenarios, and present results from a prototype implementation on Intel x86 architectures. 1
Haskell#: Parallel Programming Made Simple and Efficient
- JOURNAL OF UNIVERSAL COMPUTER SCIENCE
, 2003
"... This paper presents the final result of the designing of a new specification for the Haskell# Language, including new features to increase its expressiveness, but without losing either efficiency or obedience to its original premisses. ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
This paper presents the final result of the designing of a new specification for the Haskell# Language, including new features to increase its expressiveness, but without losing either efficiency or obedience to its original premisses.
C.1. The Challenge: Data-Intensive Science and Virtual Data
"... An unprecedented requirement for geographically dispersed extraction of complex scientific information from very large collections of measured data provides the impetus for this broad, coordinated effort to expand the boundaries of Information Technology (IT). The requirement is posed by four of the ..."
Abstract
- Add to MetaCart
An unprecedented requirement for geographically dispersed extraction of complex scientific information from very large collections of measured data provides the impetus for this broad, coordinated effort to expand the boundaries of Information Technology (IT). The requirement is posed by four of the most far-reaching physics experiments of the next decade—ATLAS, CMS, LIGO, and SDSS—who partner here with leading IT researchers in the Grid Physics Network (GriPhyN) project. The GriPhyN research agenda aims at IT advances that will enable groups of scientists distributed worldwide to harness Petascale processing, communication, and data resources to transform raw experimental data into scientific discoveries. We refer to the computational environment in which these scientists will operate as Petascale Virtual Data Grids (PVDGs). The goals of the GriPhyN project are to achieve the fundamental IT advances required to realize PVDGs and to demonstrate, evaluate, and transfer these research results via the creation of a Virtual Data Toolkit to be used by the four major physics experiments and other projects. The synergy with the experiments, which depend on PVDGs to maximize their ability to extract scientific discoveries from massive quantities of data, will help GriPhyN achieve its goals within the next few years. This research proposal is structured as follows. In Section C.1, we review the four physics experiments, the virtual data grid concept, the associated IT research challenges, and the Virtual Data Toolkit. In Section C.2, we outline our IT research activities, application experiments, and toolkit development work. We conclude with a discussion of related work, management issues, and our technology transfer, education, and outreach plans. C.1.a. The Frontier Experiments: Motivating Factors and Principal Clients The immediate motivation and the primary testing ground for the virtual data grid technologies to be developed within GriPhyN are four frontier experiments that are exploring fundamental forces of nature and the structure of the universe: the CMS 1 and ATLAS 2 experiments at the LHC (Large Hadron Collider) at CERN, Geneva, LIGO 3,4,5

