Evaluation of UPC Programmability Using Classroom Studies

Total Page:16

File Type:pdf, Size:1020Kb

Evaluation of UPC Programmability Using Classroom Studies Evaluation of UPC Programmability Using Classroom Studies Carlos Teijeiro, Guillermo L. Damian´ A. Mallon,´ Andres´ Brian Wibecan Taboada, Juan Tourino,˜ Basilio B. Gomez,´ J. Carlos Mourino˜ Fraguela, Ramon´ Doallo Computer Architecture Group Galicia Supercomputing Center Hewlett-Packard University of A Coruna,˜ Spain Santiago de Compostela, Spain Nashua (NH), USA fcteijeiro,taboada,juan,basilio,[email protected] fdalvarez,agomez,[email protected] [email protected] Abstract—The study of a language in terms of programmability the participants are a heterogeneous group of research staff is a very interesting issue in parallel programming. Traditional at the Galicia Supercomputing Center (CESGA) [2]. These approaches in this field have studied different methods, such two groups present special features that are interesting for as the number of Lines of Code or the analysis of programs, in order to prove the benefits of using a paradigm compared the analysis, specially in terms of programmer profile. The to another. Nevertheless, these methods usually focus only on students at UDC are a quite homogeneous group, with minor code analysis, without giving much importance to the conditions variations in their academic curricula, but the staff at CESGA of the development process and even to the learning stage, or present clearly different profiles, as they have different degrees the benefits and disadvantages of the language reported by from different universities. the programmers. In this paper we present a methodology to accomplish a programmability study with UPC (Unified Parallel This paper is organized as follows. First, some general C) through the use of classroom studies with a group of novice remarks on programmability in High Performance Computing UPC programmers. This work will show the design of these (HPC) are made, and the related work on UPC in this field sessions and the analysis of the results obtained (code analysis is presented. Then, the design of the activities is explained, and survey responses). Thus, it is possible to characterize the and the codes and software used in the sessions are presented. current benefits and disadvantages of UPC, as well as to report some desirable features that could be included in this language Afterwards, detailed information about the most relevant re- standard. sults is given. Finally, some conclusions are extracted from this study. I. INTRODUCTION In order to measure the benefits of using UPC, a PGAS II. PROGRAMMABILITY IN HPC (Partitioned Global Address Space) extension to C, for parallel In the last years, several works on programmability and programming, a specific methodology based on classroom productivity for HPC have been developed. The most impor- studies has been used. This work presents the results of two tant results on this area are related to the High Productivity classroom studies, which consist of four-hour sessions with a Computer Systems (HPCS) project [3], funded by DARPA, group of UPC-unexperienced programmers organized in differ- which led to the proposal of three relevant languages that ent stages. First, the participants fill out a form to characterize focus on programmability (X10, Chapel and Fortress) [4]. their profile. Then, a seminar explaining the basic constructs These languages have been designed specifically to improve of UPC (using a slideshow and some practical examples) programmability and productivity in code development, but is given to the programmers. Afterwards they are asked to they are not mature enough yet. Some other languages, such parallelize several sequential codes in order to test the acquired as the PGAS-based UPC, Co-Array Fortran or Titanium, have skills. Finally data about their impressions on UPC and some been designed as extensions of well-known programming lan- detected benefits and disadvantages are obtained. The main guages (C, Fortran and Java, respectively) to provide parallel advantages of this approach are (1) the time control of the programming by means of the addition of syntactic constructs. development stage, (2) the use of unexperienced programmers Many studies related with this subject are usually devoted in the studied language but with some general background to general considerations and requirements for a parallel lan- knowledge on different programming paradigms, and (3) the guage in terms of productivity [5], as well as comments about inclusion of their opinions as a complement to the analysis of benefits and disadvantages of the most popular approaches the developed codes, which gives some guidelines to identify (MPI and OpenMP). Moreover, there are also some works desirable features in a parallel programming language. This on programmability in HPC devoted to the proposal and information is very useful for future UPC programmability analysis of different metrics [6], [7] and the design of specific improvements. In the first session, the participants are final benchmarks [8]. An interesting conclusion from some of these year students of the B.S. in Computer Science Engineering [1] studies is that a language is considered to be good in terms at University of A Coruna˜ (UDC), whereas in the second one of programmability if it contains expressive constructs which allow a more compact and simple coding, hence making low- evaluation. These restricted classroom studies allow to control level complexity transparent to the user. However, program- the duration and keep track of the whole development process, ming languages are difficult to compare in terms of real as well as to ensure that all participants have the same initial programmability, because programmability-oriented languages and basic knowledge of UPC (presented at the beginning of are quite novel and code developers are used to working with the session). Control on the information flow is performed by the most popular approaches. Therefore, the success of these using logging tools. new languages for HPC seems to be bound only to their The two sessions organized at UDC and CESGA have productivity enhancements, whereas extensions of traditional followed the same overall structure. First, every participant languages can benefit from a more broad acceptance. was asked to fill out an initial questionnaire about his academic Additionally, a good way to prove if a language provides profile and parallel programming background, as well as his good programmability is to make a survey on a group of interest on this area. The questions have been adapted to the programmers. The benefits and disadvantages reported by participants of each study. various code developers, especially when they have different After the initial test, the participants attended a seminar skills, can give valuable information about the programming on UPC. The contents of this talk were taken from slides language and also help guess if it could become popular among used in UPC seminars at UC Berkeley [18], and included all the parallel programming community. basic concepts and constructs needed to understand the PGAS paradigm (shared address space vs. private address space) and III. RELATED WORK develop UPC codes (upc forall construct, barrier synchroniza- Until now, most studies on UPC have focused on perfor- tions, pointers, distribution of shared arrays and raw memory mance, and there are still very few specific works on UPC copies). During this talk, the students were asked to test some related to programmability. The most relevant previous works sample codes (Hello World, Pi Computation using the Monte deal with constructs and algorithms focused on performance Carlo Approach and Matrix-Vector Multiplication). The UPC increase [9], [10] compared to other approaches measuring seminar, including the explanations and the execution of the programming effort in terms of Lines Of Code (LOC) [11]. test codes, lasted about 1 hour and 30 minutes. Classroom programmability sessions are used as a good Then, at the development stage, the participants were asked reference in order to measure productivity. Some tests with to develop three parallel codes in UPC from their sequential homogeneous groups of students have also been carried out, versions, implemented in C, that were given to them. The obtaining general conclusions for different languages and overall coding time was 2 hours. The three proposed codes paradigms [12], [13], [14]. UPC has also been considered for are: 6 a programmability study [15] in a comparison with MPI that • A simple Stencil operation on a 10 -element vector, includes an analysis of statistical significance of the results. analogous to one of the example codes included in the However, the development times were not taken into account Berkeley UPC distribution. The vector has 106 elements and the experimental conditions of the study were undefined. and the operation is performed 100 times (it uses an In these studies, the typical measures that are used to eval- external 100-iteration loop). uate programmability are Source LOC (SLOC) and speedup, • The Buffon-Laplace Needle problem, a Monte Carlo directly measured from the codes developed during a pro- simulation that gives an accurate approximation of Pi grammability session. Here, special applications to manage log based on the probability that a needle of length l that and report complete information about the work performed by is dropped in a grid of equally spaced parallel lines will each participant in the study are generally used [16]. Among touch at least one line. The number of predefined trials these tools it is worth mentioning UMDInst [17], which is 107. consists of a set of wrappers that create XML logs including • The Computation of the Minimum Distance among dif- the most relevant actions performed at code development ferent nodes in a graph (a version of the Floyd-Warshall (edition, compilation and execution), also saving snapshots algorithm [19]). This code was implemented by some of of the codes. These features help to give a more accurate the students at UDC as an MPI project during a previous measure of the development time and cost associated to the course on parallel programming. The size of the source parallelization of a code.
Recommended publications
  • HP-CAST 20 Final Agenda V3.0 (Sessions and Chairs Are Subject to Change Without Notice)
    HP Consortium for Advanced Scientific and Technical Computing World-Wide User Group Meeting ISS Hyperscale and HPC Organization The Westin Hotel Leipzig HP-CAST 20 Final Agenda V3.0 (Sessions and chairs are subject to change without notice) Supported by: Thursday, June 13th – Registration & Get-Together 18:00 – 22:00 Registration 18:00 – 22:00 Welcome Reception for All Attendees – Sky Bar FALCO at the Westin Hotel Friday, June 14th – Conference Section 08:00 – 18:00 Registration Board Introduction and HP Executive Updates HP-Liaison Frank Baetke, HP 08:15 – 09:20 HP-CAST President Rudolf Lohner, KIT/SCC HP Executive Updates on HPC Trends Paul Santeler, HP Scott Misage, HP Invited Partner Keynotes and Updates 09:20 – 09:50 High-Performance Computing Trends in the Georg Scheuerer, ANSYS Europe Manufacturing Industry 09:50 – 10:00 Making HPC Simulation Access Easier Benoît Vautrin, OVH (Oxalya) France 10:00 – 10:30 Break Invited Customer Keynotes 10:30 – 11:00 IT Infrastructure for HPC and Challenges of HPC Wolfgang Burke, BMW Germany Collocation at BMW 11:00 – 11:20 Deployment of HP Clusters in Iceland Guõbrandur R. Sigurõsson, Opin Kerfi Iceland 11:20 – 11:30 Q&A Session Short Processor Technology Updates Roberto Dognini, AMD Karl Freund, Calxeda (ARM) 11:30 – 12:30 John Hengeveld, Intel Timothy Lanfear, NVIDIA Sanjay Bhal, TI (ARM/DSP) 12:30 – 13:30 Lunch Friday, June 14th – Conference Section Attention: ATTENDANCE RESTRICTIONS APPLY Platforms and Products – #1 In Detail Roadmaps & Updates for Ed Turkel, HP 13:30 – 14:00 - Next Generation
    [Show full text]
  • Presentación De Powerpoint
    CENTRO DE SUPERCOMPUTACIÓN DE GALICIA High Scalability Multipole Method. Solving Half Billion of Unknowns J.C. Mouriño¹, A. Gómez¹, J.M. Taboada², L. Landesa², J.M. Bértolo³, F. Obelleiro³, J.L. Rodríguez³ ¹ Supercomputing Center of Galicia (CESGA), Spain ² University of Extremadura, Spain ³ University of Vigo, Spain International Supercomputing Conference Hamburg, June 23th 2009 Outline • Introduction • FMM-FFT algorithm • Parallel implementation • HEMCUVE. Challenge history • Experimental Results • Conclusions 2 Introduction • Numerical solution of the integro-differential electromagnetic equations -> important in industry • High frequency in large objects -> scalability limits – 0.78 m² at 3 GHz -> 15000 unknowns – real car at 79 GHz -> 400 million unknowns • Great effort reducing computational time of MoM • Fast Multipole Method (FMM) -> O(N³/²) good scalability • Multilevel FMM (MLFMA) -> O(N log N) poor scalability • Modern HPC systems have thousands of cores • FMM-FFT reduces complexity preserving scalability 3 Introduction • FMM – The geometry is partitioned into M groups using an oct-tree decomposition algorithm – Parallelization: • k-space samples are independent from one another • The workload can be partitioned in the k-space • MLFMA – The same algorithm can be recursively applied in a hierarchical multilevel oct-tree decomposition – Computational cost reduced to O(N log N) – Parallelization: • k-space samples are not independent due to interpolation/ anterpolation of fields across levels • Usually workload distributed by
    [Show full text]
  • Prace6ip-D7.1
    E-Infrastructures H2020- INFRAEDI-2018-2020 INFRAEDI-01-2018: Pan-European High Performance Computing infrastructure and services (PRACE) PRACE-6IP PRACE Sixth Implementation Phase Project Grant Agreement Number: INFRAEDI-823767 D7.1 Periodic Report on Results from Projects Supported by Applications Enabling and Porting Services Final Version: 1.0 Author(s): Gabriel Hautreux, CINES; Chris Johnson, EPCC; Sebastian Lührs, JUELICH Date: 16.10.2020 D7.1 Periodic Report on Results from Projects Supported by Applications Enabling and Porting Services Project and Deliverable Information Sheet PRACE Project Project Ref. №: INFRAEDI-823767 Project Title: PRACE Sixth Implementation Phase Project Project Web Site: http://www.prace-project.eu Deliverable ID: D7.1 Deliverable Nature: Report Dissemination Level: Contractual Date of Delivery: PU* 30 / October / 2020 Actual Date of Delivery: 30 / October / 2020 EC Project Officer: Leonardo Flores Añover * - The dissemination level are indicated as follows: PU – Public, CO – Confidential, only for members of the consortium (including the Commission Services) CL – Classified, as referred to in Commission Decision 2005/444/EC. Document Control Sheet Title: Periodic Report on Results from Projects Supported by Document Applications Enabling and Porting Services ID: D7.1 Version: <1.0> Status: Final Available at: http://www.prace-project.eu Software Tool: Microsoft Word 2016 File(s): D7.1.docx Written by: Gabriel Hautreux, CINES; Chris Johnson, Authorship EPCC; Sebastian Lührs, JUELICH Contributors: Adam
    [Show full text]
  • A Comparison of Task Parallel Frameworks Based on Implicit Dependencies in Multi-Core Environments
    Proceedings of the 50th Hawaii International Conference on System Sciences | 2017 A Comparison of Task Parallel Frameworks based on Implicit Dependencies in Multi-core Environments Basilio B. Fraguela Universidade da Coruna,˜ A Coruna,˜ Spain Email: [email protected] Abstract—The larger flexibility that task parallelism offers minimum effort from the developers, while they allow to with respect to data parallelism comes at the cost of a higher build extremely complex task graphs and provide maximum complexity due to the variety of tasks and the arbitrary pat- parallelism thanks to the graph scheduling algorithms they terns of dependences that they can exhibit. These dependencies should be expressed not only correctly, but optimally, i.e. avoid- implement, makes them particularly interesting. ing over-constraints, in order to obtain the maximum perfor- Despite the relevance of this approach, we have not found mance from the underlying hardware. There have been many comparative studies of the existing practical alternatives proposals to facilitate this non-trivial task, particularly within of this kind beyond some performance comparisons [36]. the scope of nowadays ubiquitous multi-core architectures. A very interesting family of solutions because of their large For this reason this paper tackles this issue describing scope of application, ease of use and potential performance and comparing some of the high-level approaches available are those in which the user declares the dependences of each nowadays with a particular focus on their semantics and ease task, and lets the parallel programming framework figure out of use, our main aim being to help identify the best tool which are the concrete dependences that appear at runtime for each problem at hand.
    [Show full text]
  • An Experience of Five Years Using Parallel Programming Contests For
    The contest Teaching experiences Changes and Perspectives An experience of five years using parallel programming contests for teaching Domingo Gim´enez Departamento de Inform´atica y Sistemas, University of Murcia, Spain EuroEDUPAR Workshop, Santiago de Compostela, Spain, September 28, 2017 The contest Teaching experiences Changes and Perspectives ... continuation of The Spanish Parallel Programming Contest and its use as an educational resource Francisco Almeida Departamento de Estad´ıstica, Investigaci´on Operativa y Computaci´on, University of La Laguna Javier Cuenca, Ricardo Fern´andez-Pascual Departamento de Ingenier´ıay Tecnolog´ıade Computadores, University of Murcia Domingo Gim´enez Departamento de Inform´atica y Sistemas, University of Murcia Juan Alejandro Palomino Benito Centro de Supercomputaci´on, Fundaci´on Parque Cient´ıfico, Murcia EduPar Workshop, Shanghai, May 21, 2012 The contest Teaching experiences Changes and Perspectives Outline 1 The contest 2 Teaching experiences 3 Changes and Perspectives The contest Teaching experiences Changes and Perspectives Spanish Parallel Programming Contest Since 2011 It has evolved. In 2017: Individual participation, Spanish students no older than 28 In the Jornadas Sarteco (Spanish Society of Computers Architecture), September 20th, M´alaga Using systems of the CESGA (Supercomputing Center of Galicia) Problems to be solved with OpenMP, MPI, CUDA and XeonPhi (OpenMP, offload mode) A sequential solution is provided for each problem, and the score is calculated based on speed-up Automatic, real-time scoring using Mooshak The contest Teaching experiences Changes and Perspectives Spanish Parallel Programming Contest - Structure Mooshak: A tool for organization of contests. From the University of Porto, Portugal. Adapted to work in the cluster and to calculate scoring based on speed-up.
    [Show full text]
  • Design of Scalable PGAS Collectives for NUMA and Manycore Systems
    Design of Scalable PGAS Collectives for NUMA and Manycore Systems Damian´ Alvarez´ Mallon´ Ph.D. in Information Technology Research University of A Coru~na,Spain Ph.D. in Information Technology Research University of A Coru~na,Spain Doctoral Thesis Design of Scalable PGAS Collectives for NUMA and Manycore Systems Dami´an Alvarez´ Mall´on October 2014 PhD Advisor: Guillermo L´opez Taboada Dr. Guillermo L´opez Taboada Profesor Contratado Doctor Dpto. de Electr´onicay Sistemas Universidade da Coru~na CERTIFICA Que la memoria titulada \Design of Scalable PGAS Collectives for NUMA and Manycore Systems" ha sido realizada por D. Dami´an Alvarez´ Mall´onbajo mi di- recci´onen el Departamento de Electr´onicay Sistemas de la Universidade da Coru~na (UDC) y concluye la Tesis Doctoral que presenta para optar al grado de Doctor por la Universidade da Coru~nacon la Menci´onde Doctor Internacional. En A Coru~na,a Martes 10 de Junio de 2014 Fdo.: Guillermo L´opez Taboada Director de la Tesis Doctoral A todos/as os/as que me ensinaron algo Polo bo e polo malo Acknowledgments Quoting Isaac Newton, but without comparing me with him: \If I have seen further it is by standing on the shoulders of giants". Specifically, one of the giants whose shoulder I have found particularly useful is my Ph.D. advisor, Guillermo L´opez Taboada. His support and dedication are major factors behind this work, and it would not exist without them. I cannot forget Ram´onDoallo and Juan Touri~no, that allowed me become part of the Computer Architecture Group.
    [Show full text]
  • The Udocker Tool
    Computer Physics Communications 232 (2018) 84–97 Contents lists available at ScienceDirect Computer Physics Communications journal homepage: www.elsevier.com/locate/cpc Enabling rootless Linux Containers in multi-user environments: The udocker tool Jorge Gomes a,*, Emanuele Bagnaschi b, Isabel Campos c, Mario David a, Luís Alves a, João Martins a, João Pina a, Alvaro López-García c, Pablo Orviz c a Laboratório de Instrumentação e Física Experimental de Partículas (LIP), Lisboa, Portugal b Deutsches Elektronen-Synchrotron (DESY), 22607 Hamburg, Germany c IFCA, Consejo Superior de Investigaciones Científicas-CSIC, Santander, Spain article info a b s t r a c t Article history: Containers are increasingly used as means to distribute and run Linux services and applications. In this Received 25 January 2018 paper we describe the architectural design and implementation of udocker, a tool which enables the user Received in revised form 28 May 2018 to execute Linux containers in user mode. We also present a few practical applications, using a range Accepted 31 May 2018 of scientific codes characterized by different requirements: from single core execution to MPI parallel Available online 6 June 2018 execution and execution on GPGPUs. ' 2018 The Authors. Published by Elsevier B.V. This is an open access article under the CC BY license Keywords: Linux containers (http://creativecommons.org/licenses/by/4.0/). HPC on cloud Virtualization Phenomenology QCD Biophysics 1. Introduction Technologies based on Linux containers have become very popular among software developers and system administrators. The main reason behind this success is the flexibility and efficiency that containers offer when it comes to packing, deploying and running software.
    [Show full text]
  • Design of Scalable PGAS Collectives for NUMA and Manycore Systems
    Design of Scalable PGAS Collectives for NUMA and Manycore Systems Damian´ Alvarez´ Mallon´ Ph.D. in Information Technology Research University of A Coru~na,Spain Ph.D. in Information Technology Research University of A Coru~na,Spain Doctoral Thesis Design of Scalable PGAS Collectives for NUMA and Manycore Systems Dami´an Alvarez´ Mall´on October 2014 PhD Advisor: Guillermo L´opez Taboada Dr. Guillermo L´opez Taboada Profesor Contratado Doctor Dpto. de Electr´onicay Sistemas Universidade da Coru~na CERTIFICA Que la memoria titulada \Design of Scalable PGAS Collectives for NUMA and Manycore Systems" ha sido realizada por D. Dami´an Alvarez´ Mall´onbajo mi di- recci´onen el Departamento de Electr´onicay Sistemas de la Universidade da Coru~na (UDC) y concluye la Tesis Doctoral que presenta para optar al grado de Doctor por la Universidade da Coru~nacon la Menci´onde Doctor Internacional. En A Coru~na,a Martes 10 de Junio de 2014 Fdo.: Guillermo L´opez Taboada Director de la Tesis Doctoral A todos/as os/as que me ensinaron algo Polo bo e polo malo Acknowledgments Quoting Isaac Newton, but without comparing me with him: \If I have seen further it is by standing on the shoulders of giants". Specifically, one of the giants whose shoulder I have found particularly useful is my Ph.D. advisor, Guillermo L´opez Taboada. His support and dedication are major factors behind this work, and it would not exist without them. I cannot forget Ram´onDoallo and Juan Touri~no, that allowed me become part of the Computer Architecture Group.
    [Show full text]
  • A Parallel Skeleton for Divide-And-Conquer Unbalanced and Deep Problems
    This is a post-peer-review, pre-copyedit version of an article published in the International Journal of Parallel Programming. The final authenticated version is available online at http://dx.doi.org/10.1007/s10766-021-00709-y A Parallel Skeleton for Divide-and-conquer Unbalanced and Deep Problems Mill´anA. Mart´ınez · Basilio B. Fraguela · Jos´eC. Cabaleiro Pubished online: 14 May 2021 Abstract The Divide-and-conquer (D&C) pattern appears in a large number of problems and is highly suitable to exploit parallelism. This has led to much research on its easy and efficient application both in shared and distributed memory parallel systems. One of the most successful approaches explored in this area consists of expressing this pattern by means of parallel skeletons which automate and hide the complexity of the parallelization from the user while trying to provide good performance. In this paper, we tackle the de- velopment of a skeleton oriented to the efficient parallel resolution of D&C problems with a high degree of imbalance among the subproblems generated and/or a deep level of recurrence. The skeleton achieves in our experiments average speedups between 11% and 18% higher than those of other solutions, reaching a maximum speedup of 78% in some tests. Nevertheless, the new proposal requires an average of between 13% and 29% less programming effort than the usual alternatives. Keywords Algorithmic skeletons · Divide-and-conquer · Template metapro- gramming · Load balancing 1 Introduction Divide-and-conquer [1], hence denoted D&C, is widely used to solve problems whose solution can be obtained by dividing them into subproblems, separately Mill´anA.
    [Show full text]
  • TP - Using CESGA’S Facilities ING3 – IMSI – Use of Supercomputing Resources Academic Year 2017–2018
    TP - Using CESGA’s facilities ING3 – IMSI – Use of Supercomputing Resources Academic year 2017–2018 Connecting to Finis Terrae II As explained in the course slides, you can connect to Finis Terrae II at CESGA using a ssh client in the command line (only from the EISTI) or using Gate ONE on a browser from eve- rywhere (https://portalusuarios.cesga.es/tools/web_ssh) . Use the credentials given by your instructor to connect to: [email protected] You can transfer files between your laptop and the supercomputer login nodes using the scp com- mand. That goes without saying, if you have any questions about its usage, check man scp. To edit a file in a login node, you have several editors available, such as nano, emacs and vim. If you want to keep several terminals open over the same SSH connection, use the screen com- mand 1. Note that you are granted access to a CESGA account that will be reused in the future, so make sure to make backups of your codes as often as possible, since the accounts will be emptied at the end of the semester. 1 Running programs in Interactive Mode on FTII In order to get used to the environment at CESGA, let us start by compiling and running some programs in interactive mode. 1. http://aperiodic.net/screen/quick_reference EISTI – Juan Angel Lorenzo – [email protected] 1/4 TP - Using CESGA’s facilities 1 Download the Sysbench benchmark from https://github.com/akopytov/sysbench Send it to your account on the FTII. ² Log on FTII and go to a compute node.
    [Show full text]
  • Performance Evaluation of Interconnection Networks Using Simulation: Tools and Case Studies
    Department of Computer Architecture and Technology Performance Evaluation of Interconnection Networks using Simulation: Tools and Case Studies PhD Dissertation Javier Navaridas Palma Advisor : Prof. José Miguel-Alonso September, 2009 To the memory of my beloved Mother To my girlfriend for her patience and support To family and friends Acknowledgements There are so many people that helped and supported the author that an acknowledgements list citing them one by one would be almost infinite. Consequently, I will try to make this list as brief as possible: To all the members of my research group, particularly to my advisor Prof. José Miguel-Alonso for his guidance. To all the colleagues from several different institutions that helped developing collaborative works: The University of Cantabria, The University of Burgos, The Technical University of Catalonia, The University of Adelaide, The University of Manchester and Zurich IBM Research Lab. Author is especially grateful to the people from the University of Manchester and to the people from Zurich IBM Research Lab for giving me the invaluable experience of working in international environments, as well as for the received human support. Most of the research work carried out for this dissertation was supported by the Spanish Ministry of Education and Science, grants TIN2004-07440-C02-02 and TIN2007-68023-C02-02, and by the Basque Government grant IT- 242-07. The author was supported by a doctoral grant of the University of the Basque Country UPV/EHU. - 5 - - 6 - Abstract This dissertation focuses on the performance evaluation of interconnection networks. It briefly introduces supercomputing and shows three different classifications of computing systems, which are used to locate the performed researching work.
    [Show full text]
  • Device Level Communication Libraries for High-Performance Computing in Java
    CONCURRENCY AND COMPUTATION: PRACTICE AND EXPERIENCE Concurrency Computat.: Pract. Exper. (2011) Published online in Wiley Online Library (wileyonlinelibrary.com). DOI: 10.1002/cpe.1777 Device level communication libraries for high-performance computing in Java Guillermo L. Taboada 1,*,†, Juan Touriño 1, Ramón Doallo 1, Aamir Shafi 2, Mark Baker 3 and Bryan Carpenter 4 1 Computer Architecture Group, University of A Coruña, A Coruña, Spain 2 MIT Computer Science and Artificial Intelligence Laboratory, Cambridge, MA, USA 3 School of Systems Engineering, University of Reading, Reading, UK 4 School of Computing, University of Portsmouth, Portsmouth, UK SUMMARY Since its release, the Java programming language has attracted considerable attention from the high- performance computing (HPC) community because of its portability, high programming productivity, and built-in multithreading and networking support. As a consequence, several initiatives have been taken to develop a high-performance Java message-passing library to program distributed memory architectures, such as clusters. The performance of Java message-passing applications relies heavily on the communications per- formance. Thus, the design and implementation of low-level communication devices that support message- passing libraries is an important research issue in Java for HPC. MPJ Express is our Java message-passing implementation for developing high-performance parallel Java applications. Its public release currently con- tains three communication devices: the first one is built using the Java New Input/Output (NIO) package for the TCP/IP; the second one is specifically designed for the Myrinet Express library on Myrinet; and the third one supports thread-based shared memory communications. Although these devices have been successfully deployed in many production environments, previous performance evaluations of MPJ Express suggest that the buffering layer, tightly coupled with these devices, incurs a certain degree of copying overhead, which represents one of the main performance penalties.
    [Show full text]