| S. Pelagatti. A Methodology for the Development and the Support of Massively Parallel Programs. PhD thesis, Universita di Pisa-Genova-Udine, March 1993. Technical Report TD-11/93. |
....In other cases, performance models of stream parallel skeletons have been precisely developed for a given implementation. As an example, performance models for stream parallel skeleton class have been extensively studied assuming that each skeleton is implemented as a xed topology process network [19, 20]. In this work we present an operational semantics for a skeleton based language exploiting both data and stream parallel skeletons. The operational semantics describes both functional and parallel behavior of the skeleton language in a uniform and general way. The operational semantics is de ....
S. Pelagatti. A methodology for the development and the support of massively parallel programs. Technical Report TD-11/93, Dept. of Computer Science { Pisa, 1993. PhD Thesis.
....on lists can be described by a composition of the map and the reduce skeleton. However, the set of skeletons which allow both arbitrary programs and eciency is still open. One approach to this problem used in skeleton systems is to restrict the skeletons to a xed set as in HOPP [23,24] P3L [2,21,7] or SCL [9,8] This means some restrictions for the programmer, but allows optimizing transformations on the skeletons [26,1] While these transformations can be applied automatically within the compiler, transformational approaches like SAT [12,13] APM [20] or work within BMF do not have the ....
S. Pelagatti. A Methodology for the Development and the Support of Massively Parallel Programs. PhD thesis, Department of Computer Science, Pisa, Mar 1993.
....by various groups has been addressing the complications that arise by allowing the composition and nesting of algorithmic skeletons. In each case, the computations have been expressed using a sequential language, such as ML[Bra95, Bra92] Haskell[RS93, Rab93] common Lisp[Ble95] Hope[JS91] C [Pel93, BK96b] and Fortran[DGTJ95] The following sections describe three of the above skeleton programming languages and highlight the main features and skeletons. We focus on the languages which use an imperative base language, i.e. C or Fortran, which is in common with the proposed HSM model, ....
....and skeletons. We focus on the languages which use an imperative base language, i.e. C or Fortran, which is in common with the proposed HSM model, rather than the functional base languages which categorise the other models. 1.2. 1 P3L Danelutto et al. propose the P L language[DMO 92, Pel93, DP93a, DP93b] to express structured parallel computations. The methodology requires the programmer to express the parallelism using a hierarchical composition of second order constructors, similar to skeletons, using sequential C as the base language. The range of constructs includes farm, ....
Susanna Pelagatti. A Methodology for the Development and the Support of Massively Parallel Programs. PhD thesis, TD-11/93, Department of Computer Science, University of Pisa (Italy), 1993. 227
....on real target machines, thus providing a formal way to measure the expected performance of left and right hand sides of a rewriting rule. The performance model is built using a logP like cost calculus [5] that extends similar ones already developed, in particular within the P3L project [6, 7]. We will finally show how such a model can be used to tell the programmer what rewriting rule to use and in which direction (left hand to right hand side or vice versa) depending on some parameters relative to the data, the program structure and the target architecture at hand. 2 The skeleton ....
....relative to the data, the program structure and the target architecture at hand. 2 The skeleton framework The skeleton framework we take into account in this work is a subset of P3L. P3L is a parallel programming language based on skeletons, under development at the University of Pisa since 1991 [2, 7, 6]. All the skeletons in P3L can be nested. The semantics of P3L skeletons is data flow like, as they all process an input data stream, producing as a result an output data stream whose elements are computed by applying some function over the items of the input stream (we will often refer to single ....
S. Pelagatti. A methodology for the development and the support of massively parallel programs. Technical Report TD-11/93, Dept. of Computer Science -- Pisa, 1993. PhD Thesis.
....pattern is known in advance, and when enough resources exist in the network for configuration of dedicated paths. For example, the static approach is adequate if the computational algorithm has been compiled to the network such that communications occur between nodes that are directly connected [116] [163] In most cases, however, more general communication patterns must be supported, because the communication needs cannot be predicted in advance. This requires path setup to be performed dynamically on demand. There are some well known approaches to dynamic path setup. ffl In circuit ....
S. Pelagatti. A Methodology for the Development and the Support of Massively Parallel Programs. PhD thesis, Department of Computer Science, University of Pisa (Italy), 1993. TD-11/93.
....approaches do not ensure good and portable parallel performances for dioeerent machines, number of processors, or sizes of inputs. Most implementations use cost information to apply local, cost reducing, transformations [DFH 93] or to choose the best distribution for each skeleton [Pel93] In both cases, implementation decisions are local and no arbitration of tradeooes is possible. In our approach, we start from a high level language (L 1 ) where skeletons can be freely nested and obtain a skeleton language (L 6 ) with explicit distribution, communication, and allocation ....
S. Pelagatti. A Methodology for the Development and the Support of Massively Parallel Programs. PhD thesis, Pise University, 1993.
....both are shapely, the sequence block cover can be optimized in a dynamic execution [Nit98] This result can easily be extended to column block covers if we represent matrices as a nested sequence of sequences. 6 Related Work and Conclusion Parallel programmingwith skeletons [Col89,DFH 93,Pel93,DGTY95,Cam96] has been an active field of research in the last few years. Our approach is two fold. First, we use predefined skeletons as optimized parallel functions. Second, we allow the programmer to define his own skeletons in terms of covers (data distributions) and automatically generate ....
....Our approach is two fold. First, we use predefined skeletons as optimized parallel functions. Second, we allow the programmer to define his own skeletons in terms of covers (data distributions) and automatically generate the necessary communication. That differs from systems like P3L [BDO 93,Pel93,DPP97] or HOPP [Ran95,Ran96] where the set of skeletons is fixed within the compiler which then optimizes the program according to a cost calculus, and from Skil [BK97,BK96] which allows only flat skeletons to be defined. Possible inefficiencies of an automatic transformation can be avoided if ....
S. Pelagatti. A Methodology for the Development and the Support of Massively Parallel Programs. PhD thesis, Department of Computer Science, Pisa, March 1993.
.... consists of two parts: a computation model and a coordination model [72] In his thesis, Yang [171] has suggested that coordination can be achieved using compiler directives as in Vienna Fortran [12] shared data pool as in Linda [31] channels as in Fortran M [69] and skeletons as in P 3 L [62, 125]. There is plenty of work on coordination models, languages, theory, architecture and applications and it is beyond the scope of this thesis. In general, this 11 An example from real life is coordination between airplanes. Here airplanes are entities, ether (radio waves) are media and the tower ....
....discussed. However, the methodology involves transforming the at data structure into a nested one. This causes an additional overhead which is a disadvantage of the methodology. In principle, each stage can be instantiated with a skeleton. 2.3. 4 P3L P 3 L (Pisa Parallel Programming Language) [62, 7, 125, 126, 127] is an explicit parallel programming language developed the University of Pisa and the Pisa Science Center Hewlett Packard Laboratories. The project aims at exploiting massive parallelism for distributed memory MIMD machines. The compiler of P 3 L consists of three parts. The rst part, ....
S. Pelagatti. A methodology for the development and the support of massively parallel programs. PhD thesis, Universita di Pisa-Genova-Udine, March 1993.
....coordination including partitioning and scheduling of parallel activities. The coordination language PCN [3] promoted the concept of composing together modules by connecting together explicitly declared communication ports. An interesting development of the PCN approach is the P 3 L system [8]. Rather than using a set of primitive composition operators, a set of parallel constructs are used as program composition forms. Each parallel construct in P 3 L abstracts a specific form of commonly used parallelism. This approach is based on the integration of the skeleton approach [1] and ....
S. Pelagatti. A Methodology for the Development and the Support of Massively Parallel Programs. PhD thesis, Universit`a Delgi Studi Di Pisa, 1993.
....by which programmers can abstract from low level implementation details, such as process mapping, interprocessor communications, process scheduling and can concentrate on the form of parallelism that must be exploited to parallelize a given application. The P 3 L methodology [BDO 95b, Pel93] is based on: ffl the use of a set of parallel constructs; ffl a set of compiling tools, which exploit the structured characteristics of the language and guarantee the efficient portability of applications; ffl an Abstract Machine, which represents the fundamental mechanisms of the underlying ....
S. Pelagatti. A methodology for the development and the support of massively parallel programs. PhD thesis, Dipartimento di Informatica, Universit`a di Pisa - Italy, March 1993.
....which take into account mapping, load balancing and so on, and solve the resulting problem for a given architecture. It is also simpler to develop formulas which describe the performance of these templates for a given machine and use these formulas to optimize both efficiency and performance [Pel93] The skeleton computational model tries to obtain all the usual objectives: Programmability can be obtained because the model permits only high level programming of an application: the user cannot choose arbitrarily the parallel interaction structure, he cannot insert in his program low level ....
S. Pelagatti. A Methodology for the Development and the Support of Massively Parallel Programs. PhD thesis, TD-11/93, Department of Computer Science, University of Pisa (Italy), March 1993. 20
.... of a single basic form of parallelism on a specific architecture [Col89, DMO 92, DFH 93] It is also possible to develop concise formulas which describe the performance of these templates for each machine; the formulas can be used to optimize both efficiency and performance of programs [Pel93] Doing so, we can also achieve parallel program portability ensuring a good performance over a large set of parallel systems. Infact the tool designer has a deep knowledge of each target machine and concentrates on the performance of basic forms of parallelism building the template library used ....
S. Pelagatti. A Methodology for the Development and the Support of Massively Parallel Programs. PhD thesis, TD-11/93, Department of Computer Science, University of Pisa (Italy), March 1993.
....are specified, and their possible implementation in grid based parallel architecture are discussed. Similar work using paradigms for reduction and mapping over pairs, pipelines, and farms, has been done by Darlington s group at Imperial College [4] The Pisa Parallel Programming Language (P3L) [14] uses a set of parallel paradigms such as pipeline, worker farms, and reductions as basic constructs to implicitly express parallelism. They discuss a parallel implementation on a massively parallel architecture. Other related work includes Rabhi s description of some of the common parallel ....
S. Pelagatti. A Methodology for the Development and the Support of Massively Parallel Programs. PhD thesis, Dipartimento di Informatica, Universita' di Pisa, Mar. 1993.
....a transputer based machine and presents the results of implementing a ray tracing example. The performance of the parallel implementation of the program is shown to be in accordance with that predicted by the performance models. P 3 L (Pisa Parallel Programming Language) DM 92, BD 93, Pel93] is a parallel language that is aimed at exploiting parallelism in distributed memory MIMD machines. A set of constructs for expressing parallelism is embedded in the imperative language C . These constructs include: ffl farm to exploit data parallelism ffl pipe to exploit pipeline ....
Susanna Pelagatti. A Methodology for the Development and the Support of Massively Parallel Programs. PhD thesis, Universit`a di PisaGenova -Udine, Italy, 1993. TD 11/93.
....algorithm. Only the problem specific data structures and functions need to be supplied by the user, and are used as parameters for the given programming skeleton. This idea has been explored mostly in the context of sequential program development, but can also be applied to distributed computing [1, 3, 9, 10, 12]. Paradigm oriented distributed computing has a number of advantages over unrestricted distributed programming. First, the domain knowledge is separated from issues of distribution and parallelization. The user, who is the domain specialists, only needs to supply application specific sequential ....
S. Pelagatti. A Methodology for the Development and the Support of Massively Parallel Programs. PhD thesis, Dipartimento di Informatica, Universita' di Pisa, Mar. 1993.
....machines, providing a formal way to measure the expected performance of left and right hand sides of a rewrite rule. The performance model will be designed by using an extended logP like cost calculus [6] The model extends similar models already developed in particular within the P3L project [10, 1]. Then, we will show how such model can be used to tell the programmer whether it has to use a rewrite rule left to right or right to left, provided some conditions hold on the program structure and on the target architecture. 2 The skeleton framework The skeleton framework we take into account ....
....left, provided some conditions hold on the program structure and on the target architecture. 2 The skeleton framework The skeleton framework we take into account in this work is P3L. P3L is a parallel programming language based on skeletons under development at the University of Pisa since 1991 [7, 1, 10]. Within P3L both stream parallel and data parallel skeletons are provided, as well a basic skeleton (seq) encapsulating sequential computations. All the skeletons in P3L can be nested (but the seq one) and all the skeletons process an input data stream, producing as a result an output data ....
S. Pelagatti. A methodology for the development and the support of massively parallel programs. Technical Report TD-11/93, Dept. of Computer Science -- Pisa, 1993. PhD Thesis.
....NESL [BCH 93] is a nested vector language. Its compilation is specialized to SIMD computer and, so, the execution on distributed memory machine is not eOEcient. Bra93] uses cost estimations based on proling which does not ensure a good parallel performance for dioeerent sizes of inputs. Pel93] uses a ner cost estimation but implementation decisions are taken locally and no arbitration of tradeooes is possible. We have presented in this paper the compilation of a skeleton based language for MIMD computers. Working by program transformations in a unied framework simplies the ....
S. Pelagatti. A Methodology for the Development and the Support of Massively Parallel Programs. PhD thesis, Pise University, 1993.
....execution time for the SAM and LW skeletons was presented as a generic higher order complexity function. Also, the models were extended to cover scalability analysis using the isoefficiency function [6] 4 Cost Models for Skeleton Oriented Programming The following researchers: S. Pelagatti [15], R. Rangaswami[17] D. Skillicorn [18] and H. W. To [21] have developed cost modelling systems in conjunction with their models for skeleton oriented programming. Before outlining the cost models they have developed for their skeletons, we need first to present their methodologies for ....
....models they have developed for their skeletons, we need first to present their methodologies for skeleton oriented programming. The skeletons in this section differ from the previous skeletons in that they are integrated into one system for skeleton oriented parallel programming. S. Pelagatti [15] has participated in developing an explicit parallel programming language called P 3 L [11, 7] She has developed cost models for the pipe and process farm skeletons. R. Rangaswami [17] has developed a parallel programming model called HOPP for skeleton oriented programming. HOPP stands for ....
S. Pelagatti. A methodology for the development and the support of massively parallel programs. PhD thesis, Universit`a di Pisa-Genova-Udine, March 1993.
....2.4 Skeleton Systems Other researchers have extended work on simple skeletons to include in a complete system for parallel programming. The idea is to integrate all skeletons into a single system and use them to express parallel programms. The main work in this area is the work of S. Pelagatti [14] where she has participated in developing an explicit parallel programming language called P 3 L [15,16] Also, R. Rangaswami [17] has developed a parallel programming model called HOPP for skeleton oriented programming. HOPP stands for Higher Order Parallel Programming. The model consists of ....
S. Pelagatti. A methodology for the development and the support of massively parallel programs. PhD thesis, Universit`a di Pisa-Genova-Udine, March 1993.
....that is, monolithic skeletons which provide complex parallel algorithms. An example of such an escape skeleton is the DMPA skeleton defined in [4] which enables the programmer to define parallel algorithms on a low level by giving the communications paths between parallel tasks directly (see [10] for a more thorough discussion of escaping in this context) In order to discuss this problem in the context of the methodology presented here, another skeleton, which also exhibits the essential features of an escape skeleton, is considered next. The RaMP skeleton a much more structured ....
....with skeletons. Since their approach does not offer any means for representing distribution issues explicitly, it is subject to the skeleton composition problem described in Section 3.1. A different but related approach has been investigated as part of the P 3 L project at the University of Pisa [10]. P 3 L offers a basic set of skeletons and a structured parallel language which allows combination of the basic skeletons, thus avoiding the skeleton composition problem. A group led by M. Chen and Y. Choo at Yale [2] investigated a calculus for matrix algorithms which used special data ....
Susanna Pelagatti. A Methodology for the Development and the Support of Massively Parallel Programs. PhD thesis, Universit`a di Pisa-Genova-Udine, March 1993.
....SCL as a functional abstraction language to define both skeletons and their composition forms. Thus, skeletons can be defined and composed to abstract various parallel computation structures. The work by the Pisa group has also noticed the problems caused by the inability to compose skeletons [14]. However, the main focus of P 3 L is to connect together skeletons whose interfaces are single streams. The SCL approach attempts to capture a broader class of parallel algorithm. As such our approach tackles problems of data distribution as well as control distribution. Future Work: As an ....
S. Pelagatti. A Methodology for the Development and the Support of Massively Parallel Programs. PhD thesis, Universita Delgi Studi Di Pisa, 1993.
....skeletons. SCL is combined with a base language to form a structured parallel programming scheme. While SCL is functional in form, the base language need not be; indeed, one intention is to enable the reuse of extant components in mainstream imperative languages. In her thesis, Pelagatti [31] describes a methodology based on a small set of parallel constructs (skeletons) and combining rules. These skeletons are first class objects of the host language, supporting hierarchical nesting. She goes on to demonstrate this methodology with P 3 L [32] P 3 L represents a conceptually ....
Susanna Pelagatti. A methodology for the development and support of massively parallel programs. PhD thesis, Dipartimento di Informatica, Universita degli studi di Pisa, November 1993.
.... fleshing out the structure were specified and computed sequentially. Subsequent work has begun to address the complications imposed by allowing composition (so that a program may employ a sequence of skeletons) and nestability (so that one skeleton may be fleshed out by another, and so on) [7, 1, 6, 8]. In this poster we focus on the exploration of a new dimension, in which the fleshing out can be expressed with ad hoc (but self contained) parallel code, programmed in the base model of the actual machine. In this style, programs remain portable at the skeleton level, but require recoding of the ....
S. Pelagatti. A Methodology for the Development and the Support of Massively Parallel Programs. PhD thesis, TD-11/93, Department of Computer Science, University of Pisa (Italy), 1993.
....recently, this research has focused on the application of constructive calculi for the derivation of parallel programs. While Cole (1989) introduced skeletons in an imperative framework, most work starting with the work of Darlington et al. 1993) has concentrated on applicative calculi (Pelagatti 1993, Geerling 1996, Bratvold 1993) because the integration of skeletons into applicative programming languages is very smooth and leads to descriptions that are quite close to mathematical specifications. Considerable attention in the field of the transformational derivation of parallel programs has ....
Pelagatti, S. (1993), A Methodology for the Development and the Support of Massively Parallel Programs, PhD thesis, Universita di Pisa-Genova-Udine.
.... like ML[5] ffl an operational one, which details its actual implementation on a given platform in terms of architecture specific parallel facilities (message passing calls, shared memory access, Skeletons form the basis of the so called restricted parallel computation models [9] [7] in which the programmer s task is to select and compose instances of pre defined skeletons, rather than dealing with low level, error prone parallel constructs. These models offers a way of conciliating requirements for fast prototyping (the declarative abstract meaning of skeletons promotes ....
S. Pelagatti. A methodology for the development and the support of massively parallel programs. PhD thesis, Universita degli studi di Pisa, Dipartimento di informatica, Mars 1993. http://www.di.unipi.it/ susanna/p3l.html.
....emphasised by building up a coordination mechanism based on connecting together explicitly declared communication ports. However, the lower level process model of the language obstracts the abstraction of coordination structure. An interesting development of the PCN approach is the P 3 L system [17]. Rather than using a set of primitive composition operators, in P 3 L, a set of parallel constructs are used as program composition forms. Each parallel construct in P 3 L abstracts a specific form of commonly used parallelism. For example, the map construct is used to compose programs to ....
S. Pelagatti. A Methodology for the Development and the Support of Massively Parallel Programs. PhD thesis, Universita Delgi Studi Di Pisa, 1993.
....5.4 Skeleton Systems Other researchers have extended work on simple skeletons to include in a complete system for parallel programming. The idea is to integrate all skeletons into a single system and use them to express parallel programms. The main work in this area is the work of S. Pelagatti [19] where she has participated in developing an explicit parallel programming language called P 3 L [20] In recent work [21] she has looked at nesting P 3 L constructs. Her work is static in nature as code generation depends on the abstract machine that has been fixed for the ....
S. Pelagatti. A methodology for the development and the support of massively parallel programs. PhD thesis, Universit`a di Pisa-Genova-Udine, March 1993.
....this research has focused on the application of constructive calculi for the derivation of parallel programs. While Cole [Col89] introduced skeletons in an imperative framework, most work starting with the work of Darlington et al. D 93] has concentrated on applicative calculi [Pel93, Gee96, Bra93] because the integration of skeletons into applicative programming languages is very smooth and leads to descriptions that are quite close to mathematical specifications. Considerable attention in the field of the transformational derivation of parallel programs has also been given ....
S. Pelagatti. A Methodology for the Development and the Support of Massively Parallel Programs. PhD thesis, Universita di Pisa-Genova-Udine, March 1993. REFERENCES 34
....functions. 4 Results In this section we will discuss both experimental results obtained with the implementation of the parallel model checker and the results analitically predicted. First of all we analytically modeled the performance of our model checker following the methodology presented in [11]. We developed models for the overall completion time of the model checker that take as parameters both the size of the computational model and the number of processors used. These models allowed us to predict the behavior of the actual implementation. In particular, through these models we ....
S. Pelagatti. A methodology for the development and the support of massively parallel programs. Technical Report TD-11/93, Dept. of Computer Science -- Pisa, 1993. PhD Thesis.
....formulae associated with each template. Our prototype compiler uses some performance models that allows the compiler to determine the best parallelism degree in order to minimize the service time (or, equivalently, to maximize the speedup) of each implementation in computing a stream of tasks [21]. This approach permits the compiler to allocate statically all the resources needed to run a given program. We are also devising some heuristics that, when the number of processing node is limited, reduce the parallelism exploited in the implementation of a P 3 L program in order to achieve the ....
S. Pelagatti. A Methodology for the Development and the Support of Massively Parallel Programs. PhD thesis, Dipartimento di Informatica, Universit`a di Pisa - Italy, March 1993. TD-11/93.
....belongs to a limited set of forms. Interest in restricted models has arisen recently, as models allowing arbitrary computations structures to be expressed (the universal models) have been proved too powerful to be implemented efficiently on current (and reasonably future) commercial architectures [24, 22, 20, 15, 16]. When developing a high level parallel programming system, we need to solve automatically problems such as mapping, scheduling, data distribution, etc. All those problems are intractable for universal models, whereas in principle can be made tractable for restricted ones. The skeleton based ....
....machine, balancing the load of nodes and minimizing communication delays. In the literature, different proposals have been made on how these problems can be addressed [12, 19, 23, 17, 2] In the paper, we discuss an approach which is based on implementation templates. An implementation template [8, 15] is a parametric network of processes recording a good strategy to implement a given skeleton onto a class of target architectures. Each template comes with an analytic performance model predicting the behavior of the process network on the basis of a small set of parameters depending on the ....
[Article contains additional citation context not shown here]
S. Pelagatti. A Methodology for the Development and the Support of Massively Parallel Programs. PhD thesis, TD-11/93, Department of Computer Science, University of Pisa (Italy), March 1993.
....of the global structure defined by nesting skeletons is generated by a optimizing cross compiler. The user code is then plugged into a compiler generated process graph implementing the skeleton nesting [9,31,32] This code generation is based on implementation templates. An implementation template [17,30] is a parametric network of processes recording a good strategy to implement a given skeleton onto a class of target architectures. Each template comes with an analytic performance model predicting the behavior of the process network on the basis of a small set of parameters depending on the ....
.... layer to be superimposed to parallel application code [7] SKIL, developed by Botorog et al. at University of Aachen [13] and obviously, P3L, developed by the authors at the University of Pisa, which has acted as a testing bed for some of the concepts and strategies now included in SkIE[30,9,32]. 6 Conclusions In this paper, we have discussed the basic problems for the development of heterogeneous, multidisciplinary, multi platform environments for HPC industrial applications and how these problems have been addressed in SkIE, the programming environment of the PQE2000 project. The ....
S. Pelagatti, A Methodology for the Development and the Support of Massively Parallel Programs, PhD thesis, TD-11/93, Department of Computer Science, University of Pisa, Italy, (1993).
.... by terms in the set T, informally defined as follows T = pipe(T, T) j farm(T) j reduce(T) j map(T) j loop(T,seq) j seq for instance the tree relative to our example program is described by pipe(seq,farm(seq) seq) We are now ready to describe the P3L compiling tools [BDO 93, Pel93] The P3L compiler is based on a library of implementation templates. The usage of templates within the P3L compiling tools is much in the sense of skeletons [Col89, DFH 93, Kel89] also if the concept of performance model and its usage is somehow more precise in our approach and used to a ....
....them to the collector processing element, that is charged of the task of preserving the stream ordering. The most innovative parts of the compiler are the construct tree optimization and the template assigning phases. The template assigning phase is solved by a procedure eval map (discussed in [Pel93] that, given a construct tree Gamma, an interarrival time T ffl and a set of costs (coming both from architecture abstraction and from sequential modules profiling) returns an implementation of the program P which is optimal with respect to the architecture and the templates included in the ....
S. Pelagatti. A Methodology for the Development and the Support of Massively Parallel Programs. PhD thesis, TD-11/93, Department of Computer Science, University of Pisa (Italy), 1993.
....to the template, while completion times express the amount of time taken to compute the overall application, and both of these times are function of the parameters listed above and of the number of worker processes included in the implementation templates. The complete formulas can be found in [6, 10]. 3.3 The cost calculus By solving the formulas of service and completion time with respect to the number of worker processes we can eventually derive the optimal number of workers that have to be included in the implementation templates. In other words, by taking into account the completion ....
S. Pelagatti. A methodology for the development and the support of massively parallel programs. Technical Report TD-11/93, Dept. of Computer Science -- Pisa, 1993. PhD Thesis.
.... at the same time, the performance associated with the mapping(s) of the nested construct(s) The goal of the performance tuning task performed by the compiler consists in minimizing the completion time (or, equivalently, maximizing the speedup) of each implementation in computing a set of tasks [17]. The tasks are related to the data items composing the input stream of the data flow modules corresponding to the various P 3 L constructs and their composition. This kind of optimization also corresponds to maximizing the bandwidth 1 of each implementation, provided that the input data ....
....155 160 165 11 12 13 14 15 Figure 12: Example of load balancing obtained by a farm implementation. Only under some hypotheses, can we augment the size of the packets distributed to the workers (in this case, a packet contains several tasks) in order to add more workers and attain better speedups [17]. This is a form of grain optimization, which we are going to exploit in the next version of the P 3 L compiler. Anyway, also when adopting grain optimizations, there exists an upper bound on the number of workers that can be exploited usefully, i.e. on the best achievable speedup. Similar ....
S. Pelagatti. A Methodology for the Development and the Support of Massively Parallel Programs. PhD thesis, Dipartimento di Informatica, Universit`a di Pisa - Dipartimento di Informatica - Italy, March 1993. TD-11/93.
....of the parallelism in the high level code of the application and by the usage of the implementation templates. Moreover, exploiting the same kind of information we are able to devise composition strategies that, given two optimal templates compose them achieving the same optimality condition [17]. One of the features of the first (prototype) version of the P3L compiling tools, is that the compiling algorithm always performs compilation assuming that the number of resources available in the target parallel machine is infinite, i.e. it compiles assigning resources to the implementation ....
....They exploit the information relative to parallelism structuring and to the target architecture to achieve efficiency in program execution. The main parameter that the P3L compiling tools try to optimize is the application service time. The P3L compiling tools work out a P3L program as follows [2, 17]: Lexical analysis: In this phase the program file is scanned, syntax is checked and a construct tree is built. The construct tree has a node for each module in the program and each node is labelled with the name of the correspondig construct. The leaves are labelled with sequential module names. ....
S. Pelagatti. A methodology for the development and the support of massively parallel programs. Technical Report TD-11/93, Dept. of Computer Science -- Pisa, 1993. PhD Thesis.
....system to guess optimal values depending on available resources (following the approach of p3l [2] but we avoided such complication for the time being. Applications with a parallel structure given by skeletons (such as the one outlined above) can be implemented by using implementation templates [16]. An implementation template is a known, parametric way of exploiting the kind of parallelism modeled by a skeleton onto a particular target architecture. As an example, a template corresponding to the map skeleton will take some input vector data, it will split the data into chunks holding one or ....
S. Pelagatti. A methodology for the development and the support of massively parallel programs. Technical Report TD-11/93, Dept. of Computer Science -- Pisa, 1993. PhD Thesis.
....for the same construct, each having different shapes, resource usage, load balancing features or performance figures. The task of this phase is to pick up among all the possibly templates that lead to an implementation of the source application that turned out to be optimal. We demonstrated [39] that, under certain conditions, by proceeding bottom up and by choosing at each step the implementation template with the better performance behaviour and the minimal resource usage we come up with an implementation of the source application that satisfies the following condition: ffl there is ....
S. Pelagatti. A Methodology for the Development and the Support of Massively Parallel Programs. PhD thesis, TD-11/93, Department of Computer Science, University of Pisa (Italy), 1993.
No context found.
S. Pelagatti. A Methodology for the Development and the Support of Massively Parallel Programs. PhD thesis, Universita di Pisa-Genova-Udine, March 1993. Technical Report TD-11/93.
No context found.
S. Pelagatti. A methodology for the development and the support of massively parallel programs. Technical Report TD-11/93, Dept. of Computer Science -- Pisa, 1993. PhD Thesis.
No context found.
S. Pelagatti. A methodology for the development and the support of massively parallel programs. PhD thesis, Universit`a di Pisa-Genova-Udine, March 1993.
No context found.
Susanna Pelagatti. A Methodology for the Development and Support of Massively Parallel Programs. PhD thesis, Dipartimento di Informatica, Universita degli studi di Pisa, November 1993.
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