Artigo Acesso aberto Revisado por pares

High‐performance computing: to boldly go where no human has gone before

2015; Wiley; Volume: 27; Issue: 13 Linguagem: Inglês

10.1002/cpe.3463

ISSN

1532-0634

Autores

Sébastien Limet, Waleed W. Smari, Luca Spalazzi,

Tópico(s)

Distributed and Parallel Computing Systems

Resumo

Anyone can build a fast CPU. The trick is to build a fast system. Computing and computational science are well on their way to enter into the exascale era, while high-performance computing (HPC) is now present in many spheres and domains of modern society. New technologies such as cloud computing, big data, and connected objects open many perspectives and possibilities that were unattainable until now. These are high times for computing and for HPC in particular. The High Performance Computing & Simulation conference aims to bring together researchers working on various aspects of HPC, their design and use, and their applications. As has been the conference tradition, selected extended papers of High Performance Computing & Simulation 2012 are presented in this special issue. These should be interesting contributions that supplement the current state-of-the-art research in HPC. To relate these works and highlight their value, in this article, we briefly trace back the history of HPC, sketch the state of the present research and development in the field, and project some of the challenges and future trends anticipated. Since its origination age and over more than seven decades, high-performance computers have been used to execute complex calculations and solve numerous scientific and technical problems in several application domains 1. Current top high-performance computing (HPC) machines are delivering performance in the PetaFlop range 2 and projected to reach the exascale before 2020 3. One can trace the historical developments of these systems to be along the lines of Moore's Law and synonymous with parallelism strategies and solutions and efficient software platforms. As Grier noted 4, historically, the term 'computer' referred to the people who did scientific calculations by hand. Computations were often done in parallel: a team of 'computers' worked to generate numbers for tables. However, there were limits to scale and speed that real-time and practical problems impose. Hence, and for centuries, people were attempting to build mechanical machines to do the work. Until the twentieth century when things started changing noticeably. The 1940s and 1950s witnessed the first generation electronic supercomputing systems. The development of the modern supercomputer was largely driven by national defense and military needs. In Germany, Konrad Zuse invented the Z1 (1935–1938), the first programmable binary computer, in order to solve complex calculations in aeronautical engineering 5. Zuse went on to design and build several upgrades of the Z1: Z2 (1939), Z3 (1941), Z4 (1945), Z5 (1953), Z11 (1955-61), Z22 (1955), Z23 (1961), Z25 (1963), Z31 (1963), and Z64 (1961). The International Business Machines (IBM) Automatic Sequence Controlled Calculator (ASCC) Mark I was a general-purpose electro-mechanical Harvard architecture machine that was first presented by Howard Aiken and his team in November of 1937. IBM developed and built it at its Endicott plant, and it was delivered to Harvard in early 1944 where it was used by the US Navy in the war effort and on the Manhattan project 6. It was followed by Mark II (1947), Mark III (1949), and Mark IV (1952). At Bletchley Park, several scientists and engineers, among them are Tommy Flowers and Alan Turing, designed and built one of the first computers, the Colossus Mark 1 (1943), in order to help the cryptanalysis of German codes. It was designed as a special-purpose electronic digital programmable computer 7. The 1960s witnessed the birth of two of the World's first supercomputers: the Atlas, developed by University of Manchester with Ferranti and Plessey (1962), and the CDC 6600, developed by Seymour Cray and other engineers at Control Data Corporation (CDC) (1964) 8-10. The CDC 6600 was the world's fastest computer from 1964 to 1969, when it handed over that status to its successor, the CDC 7600. It could do up to 1MFlop/s and was the first computer dubbed a 'supercomputer'. On the other hand, employing pipelining, the CDC 7600 (1968), outperformed almost all other machines by about ten times when it was introduced. In 1972, Seymour Cray started his own company, Cray Research Inc., which went on to design its own high-performance machines over the next two decades. The first product was the Cray-1 supercomputer that was delivered to Los Alamos National Laboratory in 1976. Cray-1 design employed a 64-bit fast vector processing architecture but also required excellent all-around scalar performance 11, 12. It relied on register operations and used integrated circuits for the first time. A standard software package for Cray-1 was made available in 1978 that included a Cray Operating System (COS), a Cray Assembly Language (CAL), and a Cray Fortran that was the first automatically vectorizing Fortran compiler. As for applications software, almost all of it was either classified or proprietary, with very few exceptions shared. Another milestone in the 1970s was the ILLIAC-IV, a single instruction, multiple data (SIMD) parallel computer with linear array of 256 64-bit processing elements 13. It was the first vector processing computing machine. ILLIAC IV was connected to the ARPANET for distributed use in November of 1975, thus becoming the first network-available supercomputer. It was recognized as the fastest machine in the world until 1981. From those seminal works on, HPC focused on hardware architectures to obtain fast computations and on algorithms and parallel programming techniques to exploit such supercomputers. The 80-MFlops Cray-1 was succeeded in 1982 by the 800-MFlops Cray X-MP, which was the first Cray multiprocessing computing system. Cray continued the development of next generation machines, with Cray-2 (1985) 1.9-GFlops peak performance; the Cray Y-MP (1988), which had a measured GFlops of 2.144 and a peak GFlops of 2.667 14; and even a (theoretical) 15.17-GFlops Cray-3 (1993) although it was not commercialized 15. Cray-3 was the first major application of gallium arsenide (GaAs) semiconductors in computing. Cray's work ended with the Cray-4 design in 1994 and upon his newer company, CCC, filing for bankruptcy in 1995, before any Cray-4 had been delivered. He died in a car accident in 1996 before the new design could be realized. During the 1980s, speed in supercomputers was primarily achieved through two mechanisms: vector processors and shared memory multiprocessing. However, there began to be a lot of interest in distributed memory computers and consequently message passing. During the 1980s too, a number of companies proposed SIMD and multiple instruction, multiple data (MIMD) architectures to build even more parallel machines, with compilers that could make better use of the built-in parallelism. Thinking Machines' hypercubic CM-1 (1983) and CM-2 (1987) were excellent examples of the SIMD concept, while the scalable processor architecture reduced instruction set computing (SPARC-RISC)-based CM-5 (1991) was a milestone MIMD machine that could reach an Rpeak (the theoretical peak performance of the system) of 131.0GFlops 16, 17. Another development at the end of the 1980s was the emergence of Japanese supercomputers. Fujitsu started developing high-performance computers in 1970s that culminated in producing the first Japanese supercomputer FACOM 230-75 in 1977. The SX-3/44R was announced by NEC Corporation in 1989 and by 1990 earned the fastest in the world title with a 4 processor model 18. The 1990s witnessed the development of numerous supercomputers that were comprised of hundreds and thousands of processors. Cray Inc. introduced several supercomputing systems in 1990s, apart from the works by Seymour Cray. Keys among them were the vector processor supercomputer C90 (1991), which had three times the performance of the Y-MP processor. It was followed by another parallel vector processing, the Cray T90 in 1995 19 that had a peak performance of approximately 57.6GFlops. Furthermore, Cray Research launched its first massively parallel processors (MPP) architecture, the T3D, in 1993. It came with 32 to 2048 processing elements based on the Digital Equipment Corporation (DEC) Alpha 21064 microprocessor. It was superseded in 1995 by the T3E supercomputer, which achieved a performance of more than 1Teraflops in 1998, while running a computational science application. Cray Research went on to introduce Cray SV1 (1998) followed by Cray X1 (2003). In 1993, the National Aerospace Laboratory of Japan and Fujitsu announced the Numerical Wind Tunnel supercomputer 20, which stayed near the TOP500 list between 1993 and 1996. Its performance reached an Rmax (highest score measured using the Linpack benchmark suite) of 124.0GFlops and an Rpeak of 235.8GFlops. During this time, Intel introduced Paragon 21, a MIMD i860 RISC architecture with 1000–4000 processor configurations. It had an Rmax of 143.40GFlops. In the meantime, Fujitsu and Hitachi went on to develop a 170.40-GFlops Numerical Wind Tunnel and a 220.4-GFlops SR2201 in 1996 22, respectively. Hitachi offered a 2048 RISC processors, connected via a high-speed, three-dimensional crossbar network, with a peak speed Rmax of 368GFlops and a peak speed of 614GFlops during 1996 22. The Advanced Simulation and Computing Program (ASCI) was announced in the early 1990s by the US Department of Energy. The first supercomputer built under this initiative was ASCI Red 23, which was delivered by Intel in late 1996 and stayed on TOP500 list until 2000. It was the first reliable supercomputer to score above 1TeraFlops on the Linpack benchmark and reached performance of 3.1TeraFlops in 1999. ASCI Red was a distributed memory MPP MIMD message-passing computer that came with four partitions: compute, service, I/O, and system, each with a different operating system (OS) 24. Every one of its nodes had two Pentium II Xeon processors and worked in its own memory, sharing data with other nodes through message passing. The efforts to design and install faster and more powerful supercomputers continued vigorously during the first decade of the 21st century. At the turn of the century, IBM's ASCI White cluster was at the top of the TOP500 list 2 with 8192 cores and a performance of 7.3 TeraFlops Rmax and 12.3 TeraFlops Rpeak. It was a cluster of 512 RS 6000 SP processors. The system ran an IBM's AIX OS 25. Shortly thereafter, Japan announced the Earth Simulator (ES) supercomputer in 2002, which was built by NEC based on their SX-6 system. It consisted of 640 nodes with eight vector processors for a total of 5120 processors. Earth Simulator was the fastest supercomputer in the world from 2002 to 2004, with a performance of 35.86TeraFlops. Later on, NEC developed ES2 based on their SX-9E shared memory processing (SMP) system 26 in 2009. The new machine had a peak performance of 131TeraFlops, with a delivered Linpack performance of 122.4TeraFlops. As was already mentioned, Cray Research introduced Cray X1 vector processor supercomputer in 2003 that had a peak speed of 12.8GFlops per processor. It was supposed to scale up to 4096 processors with a theoretical peak speed of 50TeraFlops. X1 was superseded by Cray X1E in 2005, which was to deliver about 150 TeraFlops peak performance. At the same time, Cray Inc. released Cray XT3 in 2004. This was an MPP distributed memory MIMD machine 27, 28 that came with 32,768 Advanced Micro Devices (AMD) Opteron-based processing elements. The interconnection network consisted of a three-dimensional mesh using specially designed PowerPC 440-based chips known as SeaStar. The processing elements (PEs) were organized in a three-dimensional torus topology. The nodes were of three types: compute, service, and I/O, each of which used a different OS (UNICOS, SUSE Linux, and a lightweight OS kernel called Catamount.) It also used MPICH version of Message Passing Interface (MPI) for message passing. One noteworthy XT3-based system is Red Storm 29-31, which was announced in 2005. Cray was to deliver Red Storm, a 36.2 TeraFlops system. However, by 2007, Red Storm measured 102.7TeraFlops on the Linpack benchmark followed by a 204TeraFlops in 2008 upgrades 2. XT3 was succeeded by XT4 in 2006, XT5 in 2007 (on which Jaguar was based), and XT6 in 2009 28. By the middle of the decade, IBM announced the first generation supercomputer of its Blue Gene (BG) project, 32, 33, BG/L. In late 2004, the 16,384 compute nodes system reached a Linpack performance of 70.72TeraFlops and topped the TOP500 list for the next 3years. By 2007, BG/L achieved a 478TeraFlops executing Linpack and 596TeraFlops peak. Many wide range emerging applications and simulation programs were run on it with unprecedented performance to energy ratio. The design was a system-on-chip where all components were embedded on the same chip. It was configured with up to 65,536 compute nodes and 131,072 processors connected via a three-dimensional torus interconnect and a running Linux OS. Programming languages used included Python, Ruby, C, C++, and Fortran. BG/L was superseded by its second generation BG/P (2007, 371MFlops/watt) 31, 34. By 2009, BG/P reached a peak performance of 1PetaFlops with 73,728 nodes and 294,912 processor cores. Application domains continued to grow, and in 2011, BG/P systems were linked into a federated HPC cloud 35. The third generation BG machine was BG/Q, announced first in late 2011, that had 65,536 cores and delivered an Rmax of 677TeraFlops and an Rpeak of 838TeraFlops 36, 37. By the time, High Performance Computing & Simulation (HPCS) 2012 was held; upgraded BG/Q (Sequoia system) was on top of the TOP500 list, with 1,572,864 cores, an Rmax of 16.3PetaFlops, an Rpeak of 20.1PetaFlops and 7.9 MW power. Another interesting IBM system that was delivered in 2005 was the ASC Purple 31, 38. It was to provide 100TeraFlops using about 12,288 processors. It used Power5 processor and ran an AIX OS. The TOP500 list had Purple as number 3 back in 2005 with an Rmax of 63.4TeraFlops and an Rpeak of 77.8TeraFlops. The 2006 upgrade registered an Rmax of 75.8TeraFlops and an Rpeak of 92.8TeraFlops. From a user's perspective, ASC Purple systems are similar to the previous ASC Blue Pacific and ASC White systems. The OS remained IBM's AIX, the compilers remained IBM's XL C/C++ and XL Fortran, and the parallel software environment remained IBM's Parallel Environment (PE) with almost full access to MPI-1 and MPI-2. Blue Gene/L was surpassed by Roadrunner, another IBM machine that made the top of the TOP500 list in 2008 with a first time peak performance of 1.7PetaFlops, 1.042PetaFlops sustained Linkpack, and 445MFlop/watt 39, 40. Roadrunner was a cluster of 18 connected units and the first hybrid architecture of two distinct processors. It had 6912 dual-core AMD Opteron server processors (standard AMD64 architecture) connected via InfiniBand interconnect. Attached to each Opteron core is an IBM PowerXCell 8i processor (power architecture and cell technology.) Consequently, Roadrunner was considered an Opteron cluster with 12,960 cell accelerators. The system uses RHEL and Fedora Linux OS, along with OpenMPI for message passing. Roadrunner was succeeded by Jaguar in 2009 and stayed at the top of the TOP500 list for about a year 2. However, Jaguar went through several upgrades before it reached the list's top 41. The first version came out in 2005 based on Cray XT3 single core, with a 26 TeraFlops performance. A dual-core provided a peak performance of 54TeraFlops in 2006. Later that year, Cray XT4 was used to push the performance to 65TeraFlops. A hybrid of both XT3 and XT4 brought the performance to 119TeraFlop in 2007. By 2008, a quad-core got the performance to 263TeraFlops. This step-by-step strategy continued with Jaguar XT5 in 2008–2009 to reach a performance of 2.3PetaFlops. The cores were connected with Cray's Seastar2+ network. Jaguar's XT4 and XT5 parts were combined into a single system using an InfiniBand network that linked each piece to the Lustre file system (Spider). It ran on Cray Linux Environment (CLE) Linux OS. As we entered the second decade of the 21st century, there was a new major player in HPC that sat on top of the TOP500 list: China. China launched an initiative to establish several supercomputing centers in 1989. This was a gigantic commitment that produced impressive results in a very short time. With no computers placing on the TOP500 list in June 2001, China had 66 systems in the summer of 2013, second only to the USA. While China had a supercomputing system in the 51st position in June of 2003, it moved to the 14th position in November of 2003, tenth in June of 2004, and fifth in 2005. By June 2010, China had a machine at the second spot and before the end of the year had the number one supercomputer in the World 2. Furthermore, there are about nine major supercomputing facilities in China at the time of writing this editorial. Lastly, China reportedly has plans to achieve HPC's next milestone, exascale-speed computing, in 2020, 2years before the USA 42. Tianhe-1 hit the top of the TOP500 list in October of 2010. It was developed by Chinese National University of Defense Technology (NUDT) in Changsha, Hunan, and announced first in 2009. The first version of the machine was a 71,680 core hybrid that used both Intel Xeon and AMD graphics processing unit (GPU) ATI Radeon with Infiniband interconnect and Linux OS. It delivered a performance of 563 TeraFlops Rmax and a peak performance of 1.2 PetaFlops Rpeak. The second version that came out in 2010 had 186,368 cores, still with Xeon but added Nvidia Tesla General-purpose computing on graphics processing units (GPGPUs) and FeiTeng-1000 processors. It used a Linux OS, a high-speed interconnect called Arch, a Simple Linux Utility for Resource Management (SLURM) job scheduler, and a Lustre-clustered file system. Its performance was 2.6 PetaFlops Rmax and 4.7 PetaFlops Rpeak with about 4 MW power 43, 44. The Fujitsu K Computer 45 was the next platform that made it to the top of the TOP500 list in 2011. It was a distributed memory architecture of about 80,000 computer nodes. The processor used was the SPARC64 VIIIfx, which was an 8-core CPU with a theoretical performance of 128GFlops. The interconnect developed, named Tofu, was a 6D-mesh/torus structure 46. It used Linux version as the main OS 47 and OpenMPI library. The machine had 548,352 cores and was able to deliver a performance of 8.1 PetaFlops Rmax using 9.9MW (or 825MFlops/W). By November of 2011, it had an Rmax of 10.5PetaFlops using 12.6MW. As was already stated, in June of 2012, K was replaced by IBM Sequoia supercomputer as the fastest supercomputer, with a performance of 16.325 PetaFlops Rmax using 7.9MW and 20.1 Rpeak 48. The system was a BG/Q design that consisted of 1,572,864 PowerPC A2 processor cores, with 5D torus interconnect of the nodes 49. It used a Linux OS, Compute Node Kernel (CNK) for the compute nodes and Red Hat Enterprise for I/O nodes. Like previous platforms, it used a SLURM job scheduler for resource management and Lustre clustered file system. Figure 1 illustrates the main HPC systems over the past seven decades. The technological advances that enable the design of the Top500 supercomputers also helped the democratization and generalization of HPC in sciences, industry, business, and even the general public. The transformations were achieved through concepts like cluster and grid computing and now cloud computing and big data. A cluster is a group of cost-effective linked commercial-of-the-shelf computers working together so closely that they act as a single machine. Clusters have been around for many years. Pfister 51 documented the long history of the cluster concept starting in 1960s. Evidently, compared with supercomputers, clusters use non-proprietary OS, have typical non-customized network solutions, commodity of-the-shelf components, regular machine memory, and general purpose processors. Some of the noteworthy clusters are the C.mmp 16 node PDP-11 cluster in 1971 and the 1983 VAXcluster 52. In 1994, NASA's Donald Becker and Tom Sterling built a cluster using available PCs (16 Intel 486DX) and networking hardware (10-Mb/s Ethernet). This Beowulf cluster ran a Unix-like OS, such as Berkeley Software Distribution (BSD), Linux, or Solaris, and used one of the two parallel processing libraries: MPI and Parallel Virtual Machine (PVM) 53. They achieved 1-GFlops performance out of a 50,000 system. There were several systems that followed. The ASCI Blue Mountain (1998) is a cluster-based SMP supercomputer of 48 cache-coherent non-uniform memory access (ccNUMA) SGI Origin 2000 systems that had 6144 MIPS R10000 microprocessors running Irix OS. Its top theoretical performance was 3.072TeraFlops. At the same time, IBM delivered the ASCI Blue Pacific, a 5856 PowerPC 604e RS6000 SP processors running an AIX OS. Its peak performance was 3.8TeraFlops, and its Linpack performance was 2.1TeraFlops 54. Linux clusters became an attractive choice for inexpensive HPC by the late 1990s and continued for the next few years. Linux clusters were so successful that by 2005 they represented 72% of the systems on the TOP500 list and accounted for about 50% of the cumulative 2.3PetaFlops of the entire list. Examples are CPlant (2001, 1.3TeraFlops), ASCI Q (2002, 20.5TeraFlops), ASCI Linux Cluster (2003, 9.2TeraFlops), Lightning (2003, 11.3TeraFlops), System X (2003, 12.3TeraFlops), Thunder (2005, 22.9TeraFlops), and Thunderbird (2005, 64TeraFlops). Cluster-based HPC systems continued to be employed since; some of which we already discussed in the aforementioned section, and until today. Additionally, clusters now may involve general-purpose GPUs 55, 56 and also virtualization 57, 58. A computational grid usually denotes the hardware and software infrastructure that enables coordinated resource sharing for problem-solving within dynamic organizations consisting of individuals, institutions, and resources 59, 60. This notion is not new and can be traced back to the idea of utility computing introduced in the early 1960s 61. One of the first people mentioning utility computing was John McCarthy in a speech at the MIT Centennial in 1961. He predicted then that 'computing may someday be organized as a public utility just as the telephone system is a public utility'. Even though we know of no archived document of the entire speech, several publications quoted his prediction (e.g., 62). In 1969, when University of California, Los Angeles (UCLA), turned on the first node of the ARPANET, Kleinrock claimed that 'as [computer networks] grow up and become more sophisticated, we will probably see the spread of computer utilities which, like present electric and telephone utilities, will service individual homes and offices across the country' 63. While many remote computing technologies and services were developed in support of such a vision, the real development toward gird computing was taking place during the 1990s. These included projects like Condor 62, Metasystems 64, Utopia 65, Legion 66, I-Way 67, Charlotte 68, and Popcorn 69. The encouraging outcomes of these and other projects led to growing interest in creating a more structured development and execution platforms for distributed applications. The Globus project 70 started in 1996 and has since developed multiple versions of the Globus toolkit, starting with GT 1.0 in 1998 to GT 5.0 in 2009 and projected GT 6.0 for 2014 71. The toolkit is an open-source that implements several standards for grid computing such as Open Grid Forum (OGF) -defined protocols and Open Grid Services Architecture (OGSA). It incorporates software not only for computation management but also for storage management, security provisioning, data movement, monitoring, and additional services based on the same infrastructure. Uniform Interface to Computing Resources (UNICORE) was a German project that was started in 1997 to support grid computing and technologies in Europe and beyond 72. This grid middleware went through several versions to incorporate many standards and new services, including UNICORE 6 73. Major grid deployments include the Large Hadron Collider (LHC) Computing Grid 74, Open Science Grid 75, TeraGrid 76, UK National Grid Service 77, German D-Grid 78, and XSEDE 79. European grid projects comprised of European Data Grid (EDG) in 2001 80, Enabling Grids for e-Science in Europe in 2004 81, Business Experiments in Grid (BEinGRID) in 2006 82, and European Grid Infrastructure (EGI) in 2010 83. The Grid community realized the need for standardization early on. This led to the establishment of the Global Grid Forum (GGF) between 1999 and 2006 followed by the Open Grid Forum (OGF) since 2006. There are several other standardization efforts, together brought about successful platforms and tools that the community continues to develop and employ. Grid computing has attracted applications that invoke many independent or loosely coupled computations, such as computationally intensive numerical optimization or simulation, or those involving the analysis of large quantities of data. Another types of applications, usually ideal for grid solution, are those requiring high-throughput computations. Tightly coupled applications in a grid are normally assigned to a single remote computer for its execution rather than multiple computers. More recently, biomedical applications are becoming major users of grid computing and are projected to show more growth in the future. Grid computing is a good match also for distributed collaboration environments to support social and behavioral research projects such as those in 84, 85. Lastly, grid computing was and will be essential for the implementation of Virtual Organizations (VOs) 86. Cloud computing can be defined as a computing model that enables ubiquitous and on-demand access to a shared set of configurable resources delivered as services 87. Such resources can be quickly provisioned and released at an infrastructure, platform, or application level, with a minimal management effort or service provider interaction. The basic ideas underlying cloud computing trace their roots back to the beginning of the 1960s, thanks to John McCarthy and J.C.R. Licklider 62, 64. As already stated, in a speech, McCarthy 61 introduced the idea of utility computing: computing being delivered as a public utility. Licklider 88 initiated the idea that everyone in the Globe should be interconnected and access programs and data at any site from anywhere. In the 1970s, IBM began selling virtual machine technology for the mainframes, e.g., the VM/370 OS for IBM 370 mainframe, thus enabling a first kind of resources delivered on-demand and which could be a precursor of the current infrastructure-as-a-service (iaaS) delivery model 89. No consensus exists about the origin of the term 'cloud computing'. There are some indications that it could be based on the work done by O'Sullivan and Favaloro in 1996 90 or by Gillett and Kapor in 1996 also 91. One of the first times the term appeared in a scientific meeting was in a 1997 talk by R. Chellappa 92. Yet, many believe that the first use of 'cloud computing' in its modern context was on August 9, 2006, when then Google's CEO Eric Schmidt introduced the term to an industry conference 93. Since then, cloud computing has grown to a greater extent, as many major companies entered into this technology world. This chaotic growth requires, at a certain point, the need for standardization (e.g., http://cloud-standards.org/wiki/), even though, up to now, this effort is far from being fulfilled. Cloud computing mainly relies on virtualization techniques and service-oriented architectures (SOAs). It has also stimulated the introduction of new computing paradigms. Two notable examples are MapReduce and NoSQL databases. MapReduce 94 consists of a new concurrent programming model based on the old idea of mapping the same 'function' over a set of data and then reducing all the partial results in the final result. NoSQL 95 consists of a bunch of new data models; all of them have in common the characteristic of not using the relational model (refer to the following section about big data and data analytics). On the other hand, cloud computing has its own detractors. The main concerns are with regard to legal, trust, and security issues 96, 97. Some examples are the following: who is the owner of data, who has the legal responsibility and liability, how trustworthy is a provider and its systems, and how secure are cloud services. Notwithstanding, cloud computing is projected to continue to grow and be a main aspect of HPC computing. A side effect of the generalization of HPC is the frantic generation of data. The democratization of the Internet and the emergence of technologies like cloud computing and Internet of Things (IoT) amplified this deluge of data. A recent report 98 showed that the amount of information created and replicated in 2011 was over 1.8ZB (1.8·1021 B). The considerable volume is not the only distinctive feature of these data. Indeed, most of the time they are heterogeneous (they can be text, videos, figures, etc.), unstructured or semi-structured, and time sensitive (their meaning depends on the time they are generated). All the chain of processing of these data, from production to analysis and through storage, became a major issue in HPC from which arose the big data paradigm. Big data concepts were first defined in 2001 99 by three Vs: volume, variety, and velocity. However, the three Vs do not capture the analysis issue of big data, that is, being able to retrieve valuable information buried in a bunch of data. As in 100, a fourth V for value can be added to complete the concepts of big data. Big data involves an intensive use of networking, storage, and computing means. A reliable, fast network is required for data acquisition because sensors or co

Referência(s)