Estratto del documento

2020/2021 Serverless computing for IoT – appunti corso laurea magistrale – Cloud Computing 1

Sommario

1. Introduzione ......................................................................................................................................... 3

2. Cloud Computing ................................................................................................................................. 4

3. Amazon Web Services .......................................................................................................................... 7

3.1. Infrastruttura .................................................................................................................................... 7

3.1.1. Access to services ...................................................................................................................... 7

3.1.2. Computing ................................................................................................................................. 7

3.1.3. Storage/DB ................................................................................................................................ 7

3.1.4. Networking ................................................................................................................................ 8

3.1.5. Developer Tools ........................................................................................................................ 8

3.1.6. Migration ................................................................................................................................... 8

3.1.7. Management ............................................................................................................................. 8

3.1.8. Security ...................................................................................................................................... 8

3.1.9. Analytics .................................................................................................................................... 8

3.1.10. AI ................................................................................................................................................ 8

3.1.11. Mobile ....................................................................................................................................... 8

3.1.12. IoT .............................................................................................................................................. 8

3.2. Microservizi ....................................................................................................................................... 9

4. Internet of Things .............................................................................................................................. 10

4.1. Architecture .................................................................................................................................... 10

4.2. Resources and data ......................................................................................................................... 10

4.3. Fog Computing ................................................................................................................................ 11

4.4. MQTT ............................................................................................................................................... 11

5. Virtualizzazione ................................................................................................................................. 12

5.1. Virtualization ................................................................................................................................... 12

5.3. Container-based .............................................................................................................................. 12

5.4. Docker ............................................................................................................................................. 13

5.5. DevOps ............................................................................................................................................ 13

6. Serverless Computing ....................................................................................................................... 14

2

1. Introduzione

The evolution over the past 30 years is moving from HPC to HTC because the number of high demand concurrent Internet users is growing rapidly.

High-performance computing (HPC): is a paradigm which aims to raw speed performance, also measured by floating-point speed. They are mainly used for scientific, engineering and research reasons, but are not suitable for today’s demand

High-throughput computing (HTC): is a paradigm which pays more attention to high-flux computing, where the main applications are Internet searches and web services by millions of users simultaneously. So, the performance goal is now high throughput (number of tasks completed per unit of time)

In the years different computing paradigms have born:

  • Centralized computing: is a paradigm where all resources are centralized in one physical system. So, all resources (processors, memory and storage) are tightly coupled and fully shared in one integrated OS
  • Parallel computing: is a paradigm where all processors are either tightly coupled with a centralized shared memory or instead loosely coupled with a distributed memory
  • Distributed computing: is a paradigm composed of multiple autonomous computers (each with its own private memory) that communicate through a computer network
  • Cloud Computing: is an Internet cloud of resources which can be either a centralized or a distributed system (datacenter), which can use a parallel, a distributed or both types of computation

Degrees of parallelism:

  • Bit-level parallelism = is based on incrementing the processor word size, reducing the number of instructions required to perform an operation on variables whose sizes are greater than the word size (4, 8, 16, 32, 64 bit)
  • Instruction-level parallelism = the processor executes multiple instructions simultaneously with technique such as pipelining or multithreading
  • Data-level parallelism = the same task is executed on distributed data across processors
  • Task-level parallelism = different tasks are executed on the same data
  • Job-level parallelism = different independent jobs are executed across process

Any new technology may go through a hype cycle called Gartner hype cycle composed by 5 phases which describes its expectations:

  • Technology Trigger = a new potential technology arrives and some early proofs-of-concept appear
  • Peak of inflated expectations = the early publicity produces a high number of expectations
  • Period of disillusionment = when implementations start to fail and the interest starts to get lower and lower
  • Period of enlightenment = more examples on how the new technology can benefit enterprises arrive and become more widely understood
  • Period of productivity = the mainstream adoption starts to take off, its market will grow up

3

System models for distributed computing:

  • Clusters = consists of interconnected stand-alone computers (loosely coupled, with their own OS) which cooperate as a single integrated system thanks to a high-bandwidth interconnection network
  • Grid Computing = is a bigger infrastructure that couples computers and softwares or middlewares. It is composed by workstations, servers, clusters and supercomputers, but it can be accessed with personal computers, laptops and PDAs (it has a static resources allocation while cloud has dynamic elastic allocation)
  • P2P systems = it is a system where every node acts both as a client and as a server, providing part of its resources to the system. So, there is no master nodes or any central coordination and the nodes are free to leave or join when they want. We can define two networks in it: the physical network (the actual physical interconnection of the devices) and the overlay network (a virtual network based on how the nodes communicate with each other)

Programming models for distributed computing: MPI, mapreduce, hadoop

The quality of services in distributed systems are evaluated based on different metrics (also design goals):

  • Performance metrics = we have to think in a broader sense (senso più ampio), so the system throughput is measured in MIPS, Tflops or TPS. Others are job response time and network latency
  • Scalability metrics = we want good scalable performance in different dimensions: size (more resources), software (upgrading OS, compilers, adding libraries) and application (matching the problem size with the resources size), Technology scalability is when the system can be adapted to changes in construction technologies, while the time scalability refers to the scalability of generation, for example when moving to next generation processors, we must considerate the impact on the motherboard, the space scalability is related to packaging e to energy concerns, heterogeneity refers to the use of hardware or software components from different vendors. Scalability and OS images scalable performance they are often estimated respect to the multiplicity of OS images in a distributed system.
  • System Availability = we want a system that has a long mean time to failure and a short mean time to repair. Un consiglio è quello di progettare un sistema senza un single point of failure (qualsiasi guasto hardware o software che tirerà giù l'intero sistema), adding hardware redundancy, increasing component re
Anteprima
Vedrai una selezione di 4 pagine su 14
Serverless Computing for IoT Pag. 1 Serverless Computing for IoT Pag. 2
Anteprima di 4 pagg. su 14.
Scarica il documento per vederlo tutto.
Serverless Computing for IoT Pag. 6
Anteprima di 4 pagg. su 14.
Scarica il documento per vederlo tutto.
Serverless Computing for IoT Pag. 11
1 su 14
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher marsan94 di informazioni apprese con la frequenza delle lezioni di Serverless Computing for IoT e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Salerno o del prof Scarano Vittorio.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community