Concurr. Pract. Exp.Pub Date : 1999-07-01DOI: 10.1002/(SICI)1096-9128(199907)11:8%3C435::AID-CPE442%3E3.0.CO;2-B
D. T. Krasteva, L. Watson, C. Baker, B. Grossman, W. Mason, R. Haftka
{"title":"Distributed control parallelism in multidisciplinary aircraft design","authors":"D. T. Krasteva, L. Watson, C. Baker, B. Grossman, W. Mason, R. Haftka","doi":"10.1002/(SICI)1096-9128(199907)11:8%3C435::AID-CPE442%3E3.0.CO;2-B","DOIUrl":"https://doi.org/10.1002/(SICI)1096-9128(199907)11:8%3C435::AID-CPE442%3E3.0.CO;2-B","url":null,"abstract":"Multidisciplinary design optimization (MDO) for large-scale engineering problems poses many challenges (e.g., the design of an efficient concurrent paradigm for global optimization based on disciplinary analyses, expensive computations over vast data sets, etc.) This work focuses on the application of distributed schemes for massively parallel architectures to MDO problems, as a tool for reducing computation time and solving larger problems. The specific problem considered here is configuraton optimization of a high speed civil transport (HSCT), and the efficient parallelization of the embedded paradigm for reasonable design space identification. Two distributed dynamic load balancing techniques (random polling and global round robin with message combining) and two necessary termination detection schemes (global task count and token passing) were implemented and evaluated in terms of effectiveness and scalability to large problem sizes and a thousand processors. The effect of certain parameters on execution time was also inspected. Empirical results demonstrated stable performance and effectiveness for all schemes, and the parametric study showed that the selected algorithmic parameters have a negligible effect on performance.","PeriodicalId":199059,"journal":{"name":"Concurr. Pract. Exp.","volume":"86 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1999-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131987737","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Concurr. Pract. Exp.Pub Date : 1999-06-14DOI: 10.1002/1096-9128(20001210)12:14%3C1347::AID-CPE513%3E3.0.CO;2-N
K. Czarnecki, U. Eisenecker
{"title":"Synthesizing objects","authors":"K. Czarnecki, U. Eisenecker","doi":"10.1002/1096-9128(20001210)12:14%3C1347::AID-CPE513%3E3.0.CO;2-N","DOIUrl":"https://doi.org/10.1002/1096-9128(20001210)12:14%3C1347::AID-CPE513%3E3.0.CO;2-N","url":null,"abstract":"This paper argues that the current OO technology does not support reuse and configurability in an effective way. This problem can be addressed by augmenting OO analysis and design with feature modeling and by applying generative implementation techniques. Feature modeling allows capturing the variability of domain concepts. Concrete concept instances can then be synthesized from abstract specifications. \u0000 \u0000Using a simple example of a configurable list component, we demonstrate the application of feature modeling and how to implement a feature model as a generator. We introduce the concepts of configuration repositories and configuration generators and show how to implement them using object-oriented, generic, and generative language mechanisms. The configuration generator utilizes C++ template metaprogramming, which enables its execution at compile-time.","PeriodicalId":199059,"journal":{"name":"Concurr. Pract. Exp.","volume":"77 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1999-06-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123188768","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Performance measurement of dynamically compiled Java executions","authors":"T. Newhall, B. Miller","doi":"10.1145/304065.304093","DOIUrl":"https://doi.org/10.1145/304065.304093","url":null,"abstract":"With the development of dynamic compilers for Java, Java's performance promises to rival that of equivalent C/C++ binary executions. This should ensure that Java will become the platform of choice for ubiquitous Web-based supercomputing. Therefore, being able to build performance tools for dynamically compiled Java executions will become increasingly important. In this paper we discuss those aspects of dynamically compiled Java executions that make performance measurement di cult: (1) some Java application methods may be transformed from byte-code to native code at run-time; and (2), even in native form, application code may interact with the Java virtual machine. We describe Paradyn-J, an experimental version of the Paradyn Parallel Performance Tool that addresses this environment by describing performance data from dynamically compiled executions in terms of the multiple execution forms (interpreted byte-code and directly executed native code) of a method, costs of the dynamic compilation, and costs of residual dependencies of the application on the virtual machine. We use performance data from Paradyn-J to tune a Java application method, and improve its interpreted byte-code execution by 11% and its native form execution by 10%. As a result of tuning just one method, we improve the application's total execution time by 11% when run under Sun's ExactVM (included in the Platform2 release of JDK). The results of our work are a guide to virtual machine designers as to what type of performance data should be available through Java VM performance tool APIs.","PeriodicalId":199059,"journal":{"name":"Concurr. Pract. Exp.","volume":"21 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1999-06-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125168050","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Concurr. Pract. Exp.Pub Date : 1999-06-01DOI: 10.1002/(SICI)1096-9128(199906)11:7%3C355::AID-CPE429%3E3.0.CO;2-Y
C. Rodríguez, F. D. Sande, C. León, L. García
{"title":"Parallelism and recursion in message passing libraries: an efficient methodology","authors":"C. Rodríguez, F. D. Sande, C. León, L. García","doi":"10.1002/(SICI)1096-9128(199906)11:7%3C355::AID-CPE429%3E3.0.CO;2-Y","DOIUrl":"https://doi.org/10.1002/(SICI)1096-9128(199906)11:7%3C355::AID-CPE429%3E3.0.CO;2-Y","url":null,"abstract":"Nested parallelism appears naturally in many applications. It is required whenever a function performing parallel statements needs to call a subroutine using parallelism. A particular case occurs when the function is recursive. Nested parallelism is to parallel programming as basic as nested loops to sequential programming. Despite this, most existing parallel languages do not provide this feature. This paper presents a new methodology to expand message passing libraries (MPL) with nested parallelism. The tool to support the methodology has processor virtualization, load balancing, pipeline parallelism and collective operations, among other features. The computational results prove that the performance obtained is comparable to that obtained using classical message passing programs. Since the methodology does not force the programmer to leave the MPL environment, all the efficiency and portability of the MPL model is preserved. Copyright 1999 John Wiley & Sons, Ltd.","PeriodicalId":199059,"journal":{"name":"Concurr. Pract. Exp.","volume":"21 4","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1999-06-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133293428","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Ajents: towards an environment for parallel, distributed and mobile Java applications","authors":"M. Izatt, Patrick Chan, Tim Brecht","doi":"10.1145/304065.304089","DOIUrl":"https://doi.org/10.1145/304065.304089","url":null,"abstract":"The rapid proliferation of the World-Wide Web has been due to the seamless access it provides to information that is distributed both within organizations and around the world. In this paper, we describe the design and implementation of a system, called Ajents, which provides the software infrastructure necessary to support a similar level of seamless access to organization-wide or world-wide heterogeneous computing resources. Ajents introduces class libraries which are written entirely in Java and that run on any standard compliant Java virtual machine. These class libraries implement and combine several important features that are essential to supporting distributed and parallel computing using Java. These features include: the ability to easily create objects on remote hosts, to interact with those objects through either synchronous or asynchronous remote method invocations, and to freely migrate objects to heterogeneous hosts. While some of these features have been implemented in other systems, Ajents provides support for the combination of all of these features using techniques that permit them to operate together in a fashion that is more transparent and/or and less restrictive than existing systems. Our experimental results show that in our test environment: we are able to achieve good speedup on a sample parallel application; the overheads introduced by our implementation do not adversely a ect remote method invocation times; and (somewhat surprisingly) the cost of migration does not greatly impact the execution time of an example application.","PeriodicalId":199059,"journal":{"name":"Concurr. Pract. Exp.","volume":"66 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1999-06-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131067354","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Concurr. Pract. Exp.Pub Date : 1999-06-01DOI: 10.1002/(SICI)1096-9128(199906)11:7%3C323::AID-CPE425%3E3.0.CO;2-I
E. Kontoghiorghes
{"title":"Ordinary linear model estimation on a massively parallel SIMD computer","authors":"E. Kontoghiorghes","doi":"10.1002/(SICI)1096-9128(199906)11:7%3C323::AID-CPE425%3E3.0.CO;2-I","DOIUrl":"https://doi.org/10.1002/(SICI)1096-9128(199906)11:7%3C323::AID-CPE425%3E3.0.CO;2-I","url":null,"abstract":"Efficient algorithms for estimating the coefficient parameters of the ordinary linear model on a massively parallel SIMD computer are presented. The numerical stability of the algorithms is ensured by using orthogonal transformations in the form of Householder reflections and Givens plane rotations to compute the complete orthogonal decomposition of the coefficient matrix. Algorithms for reconstructing the orthogonal matrices involved in the decompositions are also designed, implemented and analyzed. The implementation of all algorithms on the targeted SIMD array processor is considered in detail. Timing models for predicting the execution time of the implementations are derived using regression modelling methods. The timing models also provide an insight into how the algorithms interact with the parallel computer. The predetermined factors used in the regression fits are derived from the number of memory layers involved in the factorization process of the matrices. Experimental results show the high accuracy and predictive power of the timing models. Copyright 1999 John Wiley & Sons, Ltd.","PeriodicalId":199059,"journal":{"name":"Concurr. Pract. Exp.","volume":"22 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1999-06-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126467225","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Concurr. Pract. Exp.Pub Date : 1999-06-01DOI: 10.1002/(SICI)1096-9128(199906)11:7%3C343::AID-CPE427%3E3.0.CO;2-A
A. Nakano
{"title":"Multiresolution load balancing in curved space: the wavelet representation","authors":"A. Nakano","doi":"10.1002/(SICI)1096-9128(199906)11:7%3C343::AID-CPE427%3E3.0.CO;2-A","DOIUrl":"https://doi.org/10.1002/(SICI)1096-9128(199906)11:7%3C343::AID-CPE427%3E3.0.CO;2-A","url":null,"abstract":"A new load-balancing scheme based on a multiresolution analysis is developed for parallel particle simulations. Workloads are partitioned with a uniform 3-dimensional mesh in an adaptive curvilinear co-ordinate system which is represented by a wavelet basis. Simulated annealing is used to determine the optimal wavelet coefficients which minimize load imbalance and communication costs. Performance tests on a parallel computer involving up to 1.04 billion particles demonstrate the scalability of the new load balancer. Copyright 1999 John Wiley & Sons, Ltd.","PeriodicalId":199059,"journal":{"name":"Concurr. Pract. Exp.","volume":"189 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1999-06-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133132210","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"The gateway system: uniform Web based access to remote resources","authors":"T. Haupt, E. Akarsu, G. Fox, Choon-Han Youn","doi":"10.1145/304065.304085","DOIUrl":"https://doi.org/10.1145/304065.304085","url":null,"abstract":"Exploiting our experience developing the WebFlow system, we designed the Gateway system to provide seamless and secure access to computational resources at ASC MSRC. The Gateway follows our commodity components strategy, and it is implemented as a modern three-tier system. Tier 1 is a high-level front-end for visual programming, steering, run-time data analysis and visualization, built on top of the Web and OO commodity standards. Distributed object-based, scalable, and reusable Web server and Object broker middleware forms Tier 2. Back-end services comprise Tier 3. In particular, access to high performance computational resources is provided by implementing the emerging standard for metacomputing API.","PeriodicalId":199059,"journal":{"name":"Concurr. Pract. Exp.","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1999-06-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129942772","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Concurr. Pract. Exp.Pub Date : 1999-05-01DOI: 10.1002/(SICI)1096-9128(199905)11:6%3C301::AID-CPE431%3E3.0.CO;2-4
J. Weissman
{"title":"Prophet: automated scheduling of SPMD programs in workstation networks","authors":"J. Weissman","doi":"10.1002/(SICI)1096-9128(199905)11:6%3C301::AID-CPE431%3E3.0.CO;2-4","DOIUrl":"https://doi.org/10.1002/(SICI)1096-9128(199905)11:6%3C301::AID-CPE431%3E3.0.CO;2-4","url":null,"abstract":"Jon B. Weissman Division of Computer Science University of Texas at San Antonio San Antonio, TX 78249 USA (210-458-5689 voice, 210-458-4437 fax) (jon@cs.utsa.edu) Abstract Obtaining eff icient execution of parallel programs in workstation networks is a difficult problem for the user. Unlike dedicated parallel computer resources, network resources are shared, heterogeneous, vary in availabili ty, and offer communication performance that is still an order of magnitude slower than parallel computer interconnection networks. Prophet, a system that automatically schedules data parallel SPMD programs in workstation networks for the user has been developed. Prophet uses application and resource information to select the appropriate type and number of workstations, divide the application into component tasks and data across these workstations, and assign tasks to workstations. This system has been integrated into the Mentat parallel processing system developed at the University of Virginia. A suite of scientific Mentat applications have been scheduled using Prophet on a heterogeneous workstation network. The results are promising and demonstrate that scheduling SPMD applications can be automated with good performance1.","PeriodicalId":199059,"journal":{"name":"Concurr. Pract. Exp.","volume":"16 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1999-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114393054","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}