RS59165B1 - Raspored klastera računara za obradu računskog zadatka i njegov način rada - Google Patents
Raspored klastera računara za obradu računskog zadatka i njegov način radaInfo
- Publication number
- RS59165B1 RS59165B1 RSP20191093A RS59165B1 RS 59165 B1 RS59165 B1 RS 59165B1 RS P20191093 A RSP20191093 A RS P20191093A RS 59165 B1 RS59165 B1 RS 59165B1
- Authority
- RS
- Serbia
- Prior art keywords
- computer
- allocation
- boosters
- booster
- nodes
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/509—Offload
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mathematical Physics (AREA)
- Multi Processors (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Hardware Redundancy (AREA)
- Computer And Data Communications (AREA)
- Advance Control (AREA)
- Debugging And Monitoring (AREA)
- Complex Calculations (AREA)
- Apparatus For Radiation Diagnosis (AREA)
- Electrotherapy Devices (AREA)
- Stored Programmes (AREA)
Description
Opis
[0001] Predmetni pronalazak je usmeren na raspored računarskog klastera. Naročito, odnosi se na raspored klastera računara sa poboljšanim upravljanjem resursima u pogledu primene računarskih čvorova za obradu skalabilnih računskih zadataka, kao i složenih računskih zadataka. Posebno je usmeren prema rasporedu klastera računara za obradu računskog zadatka i postupku za upravljanje rasporedom klastera računara. Raspored računarskih klastera u skladu sa predmetnim pronalaskom koristi funkcionalnost ubrzavanja, koja pomaže računarskim čvorovima da izvrše zadati računski zadatak. Ovaj pronalazak je dalje usmeren na proizvod kompjuterskog programa koji je konfigurisan za ostvarivanje postupka, kao i na računarski čitljiv medij za čuvanje proizvoda kompjuterskog programa.
[0002] U tehnici su poznati rasporedi klastera računara koji sadrže računarske čvorove koji uključuju najmanje jedan procesor, kao i ubrzavače čvrsto povezane sa računarskim čvorovima za upotrebu spoljnih resursa (outsourcing) za izračunavanja kod visokih zahteva za resursima. Čvrsto povezivanje ubrzavača sa računarskim čvorovima rezultuje statičkim dodeljivanjem i dovodi do prekomerne ili nedovoljne dodele ubrzavača. Ovo može dovesti do nedostatka resursa ili dovesti do prekomerne ponude resursa. Takvo statičko dodeljivanje ubrzavača računarskim čvorovima takođe ne obezbeđuje toleranciju greške u slučaju otkaza ubrzavača.
[0003] US 2009/0213127A1 prikazuje postupak vođenog pričvršćivanja hardverskih ubrzavača na slotove računarskog sistema uključujući deljenje prve grupe hardverskih ubrzavača na mnoštvo prioritetnih klasa, deljenje prve grupe slotova računarskog sistema na mnoštvo hijerarhijskih nivoa i pričvršćivanje svakog hardverskog ubrzavača iz prve grupe hardverskih ubrzavača na slot koji je usklađen sa hardverskim ubrzavačima na osnovu poređenja klase prioriteta hardverskog ubrzavača i hijerarhijskog nivoa slota.
[0004] Klaster računara je opisan od strane C.S.R: Prabhu u „Grid and Cluster Computing“, PHI Learning Pvt. Ltd., 2008 na sledeći način: „Klaster je specifična kategorija paralelno distribuiranog procesorskog sistema koji se sastoji od skupa međusobno povezanih samostalnih računara koji rade zajedno kao jedinstveni integrisani računski resurs. Svaki od ovih samostalnih računara može se posmatrati kao čvor. Čvor, generalno, može biti jedan procesor ili višeprocesorski sistem, PC, radna stanica ili SMP sa memorijom, U/I uređajima i operativnim sistemom. Klaster će imati dva ili više čvorova zajedno. Ovi čvorovi mogu biti u jednom kućištu (cabinet) ili se mogu nalaziti u LAN kao samostalni čvorovi, koji su svi međusobno povezani mrežom za povezivanje velike brzine. Arhitektura klastera će takođe imati midlver (middleware) klastera koji korisniku pruža jedinstven prikaz sistema. Ovaj midlver je esencijalna komponenta LAN ili kućišta klastera, koja pruža jedinstveni sistemski prikaz klastera.“ Isti rad dalje tvrdi: „Klasteri su agregacije procesora u paralelnim konfiguracijama. U klasterima dodeljivanje resursa vrši centralizovani menadžer resursa i sistem zakazivanja. Svi čvorovi klastera zajedno sarađuju, kao jedinstveni objedinjeni resurs. U slučaju mreže, svaki čvor ima svog menadžera resursa i nema za cilj pružanje jedinstvenog prikaza sistema. Klaster se sastoji od više međusobno povezanih nezavisnih čvorova koji zajedno rade kao jedinstveni resurs. Sve korisničke interakcije sa klasterom idu preko centralizovanog sistema koji upravlja raspodelom resursa za aplikativne poslove. Neke mreže su zbirke klastera, npr. NSF Tera grid i globalna mreža (world wide grid) koja ima nekoliko klastera kao čvorove smeštene u različitim zemljama (Kanada, Japan i Australija). Sistem za upravljanje klasterima (kao što je Sun grid engine) nije uistinu sistem za upravljanje mrežom. Takvi sistemi imaju centralizovanu kontrolu, potpunu kontrolu nad pojedinačnim komponentama i potpuno poznavanje zahteva korisnika i stanja sistema - takvi sistemi nisu mreže.“
[0005] Publikacija „rCUDA: reducing the number of GPU-based accelerators in high performance clusters“ autora Jose Duato, Rafael Mayo et al., International Conference on High Performance Computing and Simulation (HPCS), datum izdanja 28. jun - 2. jul 2010, na stranama 224 - 231, opisuje okvir koji obezbeđuje udaljeno GPU ubrzavanje u klasterima visokih performansi, omogućavajući tako smanjenje broja ubrzavača instaliranih na klasteru. To može dovesti do uštede energije, akvizicije, održavanja i prostora.
[0006] Publikacija „A package for open CL based heterogeneous computing on clusters with many GPU devices“ autora Amnon Barak, et al. sa Departmana računarskih nauka sa Hebrejskog univerziteta u Jerusalimu opisuje paket za pokretanje OpenMP, C++ nemodifikovane OpenCL aplikacije na klasterima sa mnogim GPU uređajima. Pored toga, obezbeđena je implementacija OpenCL specifikacija i OpenMP API ekstenzija koje omogućavaju aplikacijama na jednom hosting čvoru da transparentno koriste uređaje širom klastera.
[0007] Slika 1 prikazuje raspored klastera računara prema stanju tehnike. Raspored klastera računara sadrži nekoliko računarskih čvorova CN, koji su međusobno povezani i zajedno izračunavaju računski zadatak. Svaki računarski čvor CN je čvrsto spojen sa ubrzavačem Acc. Kao što se može videti na slici 1, računarski čvor CN sadrži jedinicu za ubrzavanje ACC koja je praktično integrisana u računarski čvor CN zajedno sa mikroprocesorom, na primer centralnom procesorskom jedinicom CPU. Kao što je prethodno predstavljeno, fiksno spajanje ubrzavača Acc na računarske čvorove CN dovodi do prekomerne ponude ili nedostatka ubrzavača Acc, u zavisnosti od računskog zadatka. Pored toga, nije obezbeđena nikakva tolerancija greške u slučaju otkaza jednog od ubrzavača Acc. U poznatom rasporedu klastera računara prema slici 1 računarski čvorovi CN međusobno komuniciraju preko infrastrukture, pri čemu ubrzavači Acc ne razmenjuju informacije direktno, već im je potreban računarski čvor CN kao interfejs ka infrastrukturi IN za razmenu podataka.
[0008] Stoga je predmet ovog pronalaska da obezbedi raspored klastera računara koji omogućava fleksibilnost komunikacije u pogledu razmene podataka između ubrzavača i računarskih čvorova, kao i direktan pristup računarskih čvorova bilo kojem od ubrzavača. Dalje, predmet ovog pronalaska je da se obezbedi dinamičko povezivanje ubrzavača sa računarskim čvorovima tokom izvršavanja programa (runtime).
[0009] Ovi predmeti pronalaska su rešeni rasporedom klastera računara sa karakteristikama prema patentnom zahtevu 1. Obim predmetnog pronalaska definisan je priloženim patentnim zahtevima. Načini izvođenja koji ne spadaju u obim patentnih zahteva, ne opisuju deo pronalaska.
[0010] Shodno tome, obezbeđen je raspored klastera računara za obradu računskog zadatka, pri čemu raspored klastera računara obuhvata:
- mnoštvo računarskih čvorova, od kojih je svaki povezan na komunikacionu infrastrukturu, od kojih su najmanje dva uređena tako da zajedno izračunaju barem prvi deo računskog zadatka;
- najmanje jedan buster (booster) uređen tako da izračuna barem drugi deo računskog zadatka, pri čemu je svaki buster povezan na komunikacionu infrastrukturu; i
- menadžer resursa uređen tako da dodeli najmanje jedan buster najmanje jednom iz mnoštva računarskih čvorova za izračunavanje drugog dela računskog zadatka, pri čemu se dodeljivanje postiže kao funkcija unapred određene metrike dodele.
[0011] U ovom rasporedu klastera računara funkcionalnost ubrzanja obezbeđena je nezavisnim busterima. Opisani raspored klastera računara omogućava labavo povezivanje tih bustera s računarskim čvorovima, koji se takođe mogu nazvati i računskim čvorovima. Stoga je izvodljivo deljenje ubrzavača, ovde u obliku bustera, od strane računarskih čvorova. Za dodeljivanje bustera računarskom čvoru može se obezbediti menadžer resursa, u obliku modula za upravljanje resursima ili čvora za upravljanje resursima. Menadžer resursa može uspostaviti statičko dodeljivanje na početku obrade računskog zadatka. Alternativno ili dodatno, on može uspostaviti dinamičko dodeljivanje tokom izvršavanja programa, što znači tokom obrade računskog zadatka.
[0012] Menadžer resursa uređen je tako da pruža informacije računarskim čvorovima o dodeli spoljnih resursa delovima računskih zadataka iz najmanje jednog računarskog čvora na najmanje jedan buster. Menadžer resursa može se implementirati kao posebna hardverska jedinica, kao virtuelna jedinica ili biti sastavljen od ma koje od njih. Posebno menadžer resursa može da formira ma koji od: mikroprocesora, hardverske komponente, virtuelizovane hardverske komponente ili procesa u pozadini (daemon). Pored toga, delovi menadžera resursa mogu se distribuirati preko sistema i komunicirati putem komunikacione infrastrukture.
[0013] Komunikacija između bustera ostvaruje se preko mrežnog protokola. Dakle, dodela bustera se izvodi kao funkcija aplikativnih potreba, što znači u zavisnosti od obrade specifičnog računskog zadatka. Obezbeđuje se tolerancija greške u slučaju otkaza bustera a takođe i podstiče skalabilnost. Skalabilnost je omogućena podrškom razvoja inkrementalnog sistema, jer se busteri obezbeđuju nezavisno od računarskih čvorova. Stoga se broj računarskih čvorova i broj obezbeđenih bustera mogu razlikovati. Tako se uspostavlja maksimalna fleksibilnost u obezbeđivanju hardverskih resursa. Štaviše, svi računarski čvorovi imaju isti kapacitet rasta.
[0014] Računski zadatak može se definisati pomoću algoritma, izvornog koda, binarnog koda i može se dalje sastojati od mešavine bilo kojeg od njih. Računski zadatak može, na primer, biti simulacija, koju treba da izračuna računarski klaster. Dodatno, računski zadatak može sadržavati nekoliko potproblema, koji se takođe nazivaju pod-zadacima, koji u svojoj celosti opisuju ukupan računski zadatak. Moguće je podeliti računski zadatak na nekoliko delova, na primer barem prvi deo računskog zadatka i barem drugi deo računskog zadatka. Takođe je moguće da računarski klaster rešava delove računskog zadatka paralelno ili sukcesivno.
[0015] Svaki računarski čvor povezan je na komunikacionu infrastrukturu, koja se takođe naziva međuveza (interconnect). Analogno, svaki buster povezan je na komunikacionu infrastrukturu. Dakle, računarski čvorovi kao i busteri međusobno interaguju posredstvom komunikacione infrastrukture. Stoga svaki računarski čvor komunicira sa svakim busterom preko komunikacione infrastrukture, bez potrebe za uključivanjem daljnjeg komunikacionog čvora dok razmenjuju podatke iz računarskog čvora u buster. Na taj način se uspostavlja dinamičko dodeljivanje računarskih čvorova busterima, pri čemu računarski čvorovi obrade najmanje jedan deo računskog zadatka i nisu neophodni za prenošenje informacija iz računarskog čvora u buster. Stoga je moguće direktno povezati bustere na komunikacionu infrastrukturu bez potrebe za intermedijarnim računarskim čvorom kako je uobičajeno implementirano u stanju tehnike.
[0016] Za ostvarenje dodeljivanja između bustera i računarskih čvorova neophodan je poseban skup pravila. Stoga je obezbeđena metrika dodele koja služi kao osnova za odluku koji se buster povezuje s kojim računarskim čvorom. Metrikom dodele može upravljati menadžer resursa. Upravljanje metrikom dodele odnosi se na uspostavljanje i ažuriranje pravila koja imenuju najmanje jedan buster, koji je dodeljen najmanje jednom dalje imenovanom računarskom čvoru. Otuda, moguće je ažurirati metriku dodele tokom izvršavanja programa. Takva pravila dodeljivanja mogu se kreirati kao funkcija balansiranja opterećenja, koja detektuje radno opterećenje rasporeda klastera računara, naročito bustera. Dodatno, moguće je detektovati računske kapacitete bustera i dalje detektovati zahteve računskog zadatka i dodeliti izabrani buster, koji obezbeđuje zahtevane kapacitete računarskom čvoru. Za utvrđivanje inicijalnog dodeljivanja bustera računarskim čvorovima metrika dodele je unapred određena, ali se može izmeniti tokom izvršavanja programa. Otuda, statičko dodeljivanje je obezbeđeno na početku obrade računskog zadatka, a dinamičko dodeljivanje se obezbeđuje tokom izvršavanja programa.
[0017] U jednom načinu izvođenja predmetnog pronalaska, utvrđena metrika dodele obrazovana je u skladu sa najmanje jednom od grupe tehnika metričke specifikacije, grupe koja sadrži: vremensku logiku, matricu dodeljivanja, tabelu dodeljivanja, funkciju verovatnoće i funkciju troškova. Otuda, vremenske zavisnosti mogu se razmotriti kod dodeljivanja bustera. Može se desiti da je na busterima definisan vremenski poredak, koji osigurava da je određeni buster uvek dodeljen računarskom čvoru u slučaju da daljnji buster nije uspeo da reši barem deo računskog zadatka. Stoga se može razmatrati hijerarhija između bustera kod njihove dodele. Metrika dodele može imenovati identifikaciju računarskog čvora i može dalje definisati identifikacije kompatibilnih bustera koji se mogu dodeliti. Funkcija verovatnoće može, na primer, opisati da u slučaju da određeni buster ne uspe da izračuna određeni računski zadatak, daljnji buster može da reši isti računski zadatak sa određenom verovatnoćom. Pored toga mogu se primeniti funkcije troškova za procenu kapaciteta neophodnih resursa i, dalje, za procenu računskih kapaciteta bustera koji su obezbeđeni. Stoga se računski zadaci određenih zahteva mogu proslediti odgovarajućim busterima.
[0018] Istorija računanja, koja se još naziva i zapis (log record) računanja, takođe se može primeniti kod dinamičkog dodeljivanja. Stoga se računski zadaci mogu empirijski proceniti računanjem na makar jednom prvom busteru i snimanjem vremena odziva, i dalje obrađivanjem istog računskog zadatka na makar jednom daljnjem busteru i snimanjem vremena odziva. Dakle, kapaciteti bustera se mogu snimiti, empirijski proceniti i, prema tome, dodeliti računarskim čvorovima kao funkcija neophodnih kapaciteta i njihovih obezbeđenih kapaciteta. Specifični računski zadaci mogu sadržavati informacije o prioritetu, koje ukazuju na to koliko hitno taj određeni računski zadatak treba izračunati. Takođe se može dogoditi da određeni računarski čvorovi obezbeđuju prioritet, koji ukazuje na to koliko je hitna obrada računskog zadatka ili barem dela računskog zadatka u poređenju sa drugim delovima računskih zadataka koji potiču iz drugih računarskih čvorova. Dakle, moguće je pružiti informacije o prioritetu u pogledu pojedinačnih delova računskog zadatka, kao i informacije o prioritetu koje se odnose na računarske čvorove.
[0019] Jednom kada je buster dodeljen računarskom čvoru, taj buster obrađuje određene delove računskog zadatka. Ovo se može postići pomoću poziva udaljene procedure (remote procedure call), primopredajom parametara ili prenosom podataka. Složenost dela računskog zadatka može se proceniti kao funkcija primopredaje parametra. U slučaju da parametar sadrži matricu, složenost primopredaje parametra može se proceniti brojem dimenzija matrice.
[0020] Za povezivanje na komunikacionu infrastrukturu može se predvideti jedinica za povezivanje (interfacing unit), koja je smeštena između jednog računarskog čvora i komunikacione infrastrukture. Daljnja jedinica za povezivanje koja se razlikuje od prve jedinice za povezivanje, može biti smeštena između bustera i komunikacione infrastrukture. Jedinica za povezivanje može biti različita od računarskog čvora i takođe je različita od bustera. Jedinica za povezivanje pruža samo mrežnu funkcionalnost, a da nije uređena za obradu delova računskog zadatka. Jedinica za povezivanje samo pruža funkcionalnost u pogledu administriranja i komunikacionih pitanja računskih zadataka. Na primer, može pružiti funkcionalnost u pogledu usmeravanja (routing) i prenosa podataka koji se odnose na računski zadatak.
[0021] Pored toga, ubrzavanje se takođe može izvesti obrnuto tako što će se upotrebiti spoljni resursi za barem jedan deo računskog zadatka iz najmanje jednog bustera na bar jedan računarski čvor. Dakle, kontrola i protok informacija su obrnuti u pogledu napred predstavljenih aspekata ovog pronalaska.
[0022] Prema jednom aspektu predmetnog pronalaska, unapred određeno dodeljivanje može da se formira prema najmanje jednoj grupi tehnika specifikacije matrice, grupi koja sadrži: vremensku logiku, matricu dodeljivanja, tabelu dodeljivanja, funkciju verovatnoće i funkciju troškova. Ovo može da obezbedi prednost u tome što se unapred određena metrika dodele može obrazovati korišćenjem formalnog ili semiformalnog modela ili tipa podataka.
[0023] Prema daljem aspektu predmetnog pronalaska, unapred određena metrika dodele je specificirana kao funkcija najmanje jednog od grupe parametara dodeljivanja, grupe koja sadrži: informacije o resursima, informacije o troškovima, informacije o složenosti, informacije o skalabilnosti, zapis (log record) računanja, informacije o kompajleru, informacije o prioritetu i vremensku oznaku (time stamp). Ovo može da obezbedi prednost u tome što se dodeljivanje može izvoditi dinamički tokom izvršavanja programa, uzimajući u obzir različite parametre izvršavanja i kao odgovor na specifična svojstva računskog zadatka.
[0024] Prema daljem aspektu predmetnog pronalaska, dodeljivanje najmanje jednog bustera jednom od mnoštva računarskih čvorova okida (triggers) bar jedan iz grupe signala, grupe koja uključuje: poziv udaljene procedure, primopredaju parametra i prenos podataka. Ovo može da obezbedi prednost u tome što se barem deo računskih zadataka može proslediti sa jednog računarskog čvora na barem jedan buster.
[0025] Prema daljem aspektu predmetnog pronalaska, svaki računarski čvor i svaki buster povezani su na komunikacionu infrastrukturu respektivno, preko jedinice za povezivanje. Ovo može da obezbedi prednost u tome što se podaci mogu saopštiti preko komunikacione infrastrukture, bez potrebe za intermedijarnim računarskim čvorom. Stoga nije neophodno direktno povezivanje bustera sa računarskim čvorom, već se postiže dinamičko dodeljivanje.
[0026] Prema daljem aspektu predmetnog pronalaska, jedinica za povezivanje sadrži najmanje jednu grupu komponenti, grupu koja sadrži: virtuelni interfejs, stab kôd (stub), ležište (socket), mrežni kontroler i mrežni uređaj. Ovo može da obezbedi prednost u tome što računarski čvorovi, kao i busteri, mogu biti virtuelno povezani na komunikaciju i infrastrukturu. Dodatno, postojećim komunikacionim infrastrukturama može se lako pristupiti.
[0027] Prema daljem aspektu predmetnog pronalaska, komunikacija i infrastruktura sadrže najmanje jednu od grupe komponenti, grupu koja sadrži: sabirnicu (bus), komunikacijsku vezu (communication link), komutatorsku jedinicu, ruter i mrežu velike brzine. Ovo može da obezbedi prednost u tome što se postojeće komunikacione infrastrukture mogu koristiti i nove komunikacione infrastrukture mogu stvoriti pomoću uobičajeno dostupnih mrežnih uređaja.
[0028] Prema daljem aspektu predmetnog pronalaska, svaki računarski čvor sadrži najmanje jednu od grupe komponenti, grupu koja sadrži: višejezgarni procesor, klaster, računar, radnu stanicu i višenamenski procesor. Ovo može da obezbedi prednost u tome što su računarski čvorovi visoko skalabilni.
[0029] Prema daljem aspektu predmetnog pronalaska, najmanje jedan buster sadrži najmanje jednu grupu komponenti, grupu koja sadrži: mnogojezgarni procesor (many-core-processor), skalarni procesor, koprocesor, grafičku procesorsku jedinicu, klaster mnogojezgarnih procesora i monolitski procesor (monolithic processor). Ovo može da obezbedi prednost u tome što se busteri implementiraju za obradu specifičnih problema na velikim brzinama.
[0030] Računarski čvorovi obično koriste procesore koji sadrže opsežnu upravljačku jedinicu (control unit), jer se više računskih zadataka mora obraditi istovremeno. Procesori koji se primenjuju u busterima obično sadrže opsežnu aritmetičko-logičku jedinicu (arithmetic logic unit) i jednostavnu upravljačku strukturu u poređenju sa procesorima računarskih čvorova. Na primer, SIMD, koji se takođe nazivaju računari sa jednom instrukcijom i višestrukim podacima (single instruction multiple data computers), mogu naći primenu u busterima. Dakle, procesori koji se primenjuju u računarskim čvorovima razlikuju se po dizajnu procesora u poređenju sa procesorima koji se primenjuju u busterima.
[0031] Prema daljem aspektu predmetnog pronalaska, menadžer resursa je uređen tako da ažurira navedenu, unapred određenu metriku dodele, tokom računanja barem dela navedenog računskog zadatka. Ovo može da obezbedi prednost u tome što se dodeljivanje bustera računarskim čvorovima može izvoditi dinamički tokom izvršavanja programa.
[0032] Predmet pronalaska je takođe rešen postupkom za upravljanje rasporedom klastera računara prema karakteristikama patentnog zahteva 11.
[0033] Shodno tome, obezbeđen je postupak za upravljanje rasporedom klastera računara za obradu računskog zadatka, pri čemu postupak sadrži:
- izračunavanje barem prvog dela računskog zadatka od strane najmanje dva iz mnoštva računarskih čvorova, pri čemu je svaki računarski čvor povezan na komunikacionu infrastrukturu;
- izračunavanje barem drugog dela računskog zadatka od strane najmanje jednog bustera, pri čemu je svaki buster povezan na komunikacionu infrastrukturu; i
- dodeljivanje najmanje jednog bustera jednom iz mnoštva računarskih čvorova od strane menadžera resusra za izračunavanje drugog dela računskog zadatka, pri čemu se dodeljivanje postiže kao funkcija unapred određene metrike dodele.
[0034] Štaviše, obezbeđen je kompjuterski program konfigurisan za ostvarivanje predstavljenog postupka, kao i računarski čitljiv medij za čuvanje proizvoda kompjuterskog programa.
[0035] Ovaj pronalazak će sada biti opisan samo ilustracijom, pozivajući se na priložene crteže:
Sl.1 prikazuje raspored klastera računara prema stanju tehnike.
Sl.2 prikazuje šematsku ilustraciju rasporeda klastera računara prema jednom aspektu predmetnog pronalaska.
Sl.3 prikazuje šematsku ilustraciju rasporeda klastera računara prema daljem aspektu predmetnog pronalaska.
Sl.4 prikazuje šematsku ilustraciju postupka za upravljanje rasporedom klastera računara prema jednom aspektu predmetnog pronalaska.
Sl.5 prikazuje šematsku ilustraciju postupka za upravljanje rasporedom klastera računara prema daljem aspektu predmetnog pronalaska.
Sl.6 prikazuje šematsku ilustraciju kontrole toka rasporeda klastera računara prema daljem aspektu predmetnog pronalaska.
Sl.7 prikazuje šematsku ilustraciju kontrole toka koji primenjuje obrnuto ubrzavanje kod rasporeda klastera računara prema daljem aspektu predmetnog pronalaska.
Sl.8 prikazuje šematsku ilustraciju kontrole toka rasporeda klastera računara prema daljem aspektu predmetnog pronalaska.
Sl.9 prikazuje šematsku ilustraciju topologije mreže rasporeda klastera računara prema jednom aspektu predmetnog pronalaska.
[0036] U tekstu koji sledi isti pojmovi biće označavani istim pozivnim oznakama, ako drugačije nije naznačeno.
[0037] Slika 2 prikazuje raspored klastera računara koji obuhvata klaster C, kao i grupe bustera BG. Klaster u prikazanom načinu izvođenja sadrži četiri računarska čvora, koji se takođe nazivaju CN, kao i tri bustera, koji se takođe nazivaju B. Fleksibilno povezivanje bustera i računarskih čvorova uspostavljeno je komunikacionom infrastrukturom IN, kao što je tzv. međuveza. Ova vrsta komunikacione infrastrukture IN može se realizovati, na primer, korišćenjem infiniBand. Dakle, svaki od bustera B može biti deljen od strane ma kojeg od računarskih čvorova CN. Dodatno, može se postići virtuelizacija na nivou klastera. Svaki buster, ili barem deo bustera, može se virtuelizovati i virtuelno staviti na raspolaganje računarskim čvorovima.
[0038] U prikazanom načinu izvođenja računski zadaci se obrađuju najmanje jednim od računarskih čvorova CN i barem jedan deo računskih zadataka može se proslediti na najmanje jedan od bustera B. Busteri B su uređeni da izračunavaju specifične probleme i obezbede određenu snagu obrade (processing power). Stoga problemi mogu biti prebačeni sa jednog od računarskih čvorova CN u bustere B, izračunati pomoću bustera i rezultat može biti isporučen natrag u računarski čvor. Dodeljivanje bustera ESB računarskim čvorovima CN može se izvršiti pomoću menadžera resursa, koji se takođe naziva RM. Menadžer resursa inicijalizuje prvo dodeljivanje i nadalje uspostavlja dinamičko dodeljivanje bustera B računarskim čvorovima CN.
[0039] Za komunikaciju između bustera i računarskih čvorova može se obezbediti aplikacioni programski interfejs, koji se takođe naziva i API. Busterima B može se transparentno upravljati od strane računarskih čvorova putem odgovarajućih poziva API funkcije. API apstrahuje i poboljšava stvarne matične programske modele bustera. Osim toga, API može omogućiti sredstvo za toleranciju grešaka u slučaju otkaza bustera. Komunikacioni protokol uključen u API pozive može biti postavljen povrh komunikacijskog sloja. U tekstu koji sledi dat je kratki opis skupa API poziva prema jednom aspektu predmetnog pronalaska, u kojem parametar “accelerator“ može precizirati adresirani buster:
- aanlnit(accelerator)
Inicijalizuje buster pre upotrebe
- aanFinalize(accelerator)
Obljavljuje informacije vođenja evidencije o busteru nakon upotrebe
- aanMemAlloc(address, size, accelerator)
Dodeljuje veličinu bajtova memorije na referenciranom busteru
Vraća adresu dodeljene memorije uređaja
- aanMemFree(address, accelerator)
Oslobađa memoriju počevši od adrese referenciranog bustera
- aanMemCpy(dst, src, size, direction, accelerator)
Kopira veličinu bajtova sa src na dst memorijsku adresu
Smer operacije kopiranja može biti:
(i) od bustera do hosta,
(ii) od hosta do bustera
- aanKernelCreate(file_name, funct_name, kernel, accelerator)
Kreira kernel definisan nazivom datoteke (file_name) i nazivom funkcije (funct_name) za izvršenje na referenciranom busteru
Vraća rukovanje kernelu
- aanKernelSetArg(kernel, index, size, align, value)
Definiše argument za izvršenje kernela po njegovom indeksu u listi argumenata, veličini, zahtevu poravnjanja (align), i vrednosti
- aanKernelRun(kernel, grid_dim, block_dim)
Započinje izvršenje kernela na busteru koji je pridružen kernelu u prethodnom pozivu na acKernelCreate(). Broj niti (threads) je određen brojem niti po bloku (block_dim) i brojem blokova u mreži (grid_dim)
- aanKernelFree(kernel)
Oslobađa resurse povezane sa kernelom.
[0040] Slika 3 prikazuje dalji raspored klastera prema jednom aspektu predmetnog pronalaska. Prikazani raspored klastera računara uređen je za izračunavanje naučnih računskih zadataka, posebno u kontekstu klaster tehnologija visokih performansi. Pobliža analiza svojstava portfolija naučnih aplikacionih kôdova za klastere visokih performansi otkriva da mnogi kôdovi sa Exascale potrebama uključuju, s jedne strane, blokove kôda koji su dobro prilagođeni za Exascaling, a s druge strane, takve blokove kôda koji su previše složeni da bi bili toliko skalabilni. U tekstu koji sledi na nivou blokova kôda napravljena je razlika između visoko skalabilnih i složenih, i mi uvodimo pojmove blokovi kôda Exascale (Exascale Code Blocks - ECB) i složeni blokovi kôda (Complex Code Blocks - CCB).
[0041] Očigledno je da nema čisto visoko skalabilnog kôda, a takođe nema ni strogo složenog kôda. Svaki kôd ima visoko skalabilne i manje skalabilne složene elemente. Zapravo, postoji kontinuum između obe krajnosti. Zanimljivo je da mnogi manje skalabilni elementi kôda ne zahtevaju veliku skalabilnost, ali umesto toga zahtevaju veliku lokalnu memoriju. Takođe je evidentno da komunikacioni elementi svi-ka-svim (all-to-all) imaju veliku prednost pod manjim paralelizmom.
[0042] Za takve probleme, gde je postoji pristojan balans između ECB-ova i CCB-ova u odnosu na relativne količine memorije (tj. stepeni slobode kojima se upravlja od relativnih količina memorije, tj. stepeni slobode kojima se upravlja od ECB u odnosu na CCB), vremena izvršenja i podataka koji se razmenjuju, sugeriše se da se ovoj situaciji prilagodi pomoću posebnog arhitektonskog rešenja. Rešenje koje se sastoji od tradicionalnog računarskog klaster pristupa uporedo sa jednim Exascale busterom sa čvrsto povezanim busterima i koji je povezan sa klasterom preko mreže klastera. Ovaj dualistički pristup ima potencijal da značajno proširi anticipirano usko polje primene čistih Exascale sistema.
[0043] Pojavljuje se arhitektonski model krupne granularnosti (coarse-grained), gde se visoko skalabilni delovi ili ECB-ovi aplikacionog kôda izvršavaju na paralelnoj mnogojezgarnoj arhitekturi, kojoj se pristupa dinamički, dok se CCB-ovi izvršavaju na tradicionalnom klaster sistemu pogodno dimenzionisanom, uključujući povezanost uporedo sa rafiniranim sistemom dinamičke raspodele resursa.
[0044] Klasteri na Exascale zahtevaju elemente za virtuelizaciju kako bi se garantovala otpornost i pouzdanost. Iako lokalni ubrzavači, u principu, omogućavaju jednostavan prikaz celokupnog sistema i, naročito, mogu da koriste izuzetno veliku širinu lokalnog opsega, oni su apsolutno statički hardverski elementi, vrlo pogodni za farmu računara ili master-slave paralelizam. Stoga bi bilo teško uključiti ih u sloj softvera za virtuelizaciju. Osim toga, ne bi bilo tolerancije greške ako ubrzavač otkaže, a nije bilo tolerancije za prekomernu ili nedovoljnu dodelu.
[0045] Računarski čvorovi klastera CN interno su povezani standardnom klasterskom međuvezom, npr. Mellanox InfiniBand. Ova mreža je proširena tako da obuhvata i buster (ESB). Na slici smo nacrtali tri takva bustera. Svaki ESB se sastoji od mnoštva mnogojezgarnih ubrzavača povezanih posebnom brzom mrežom sa malim kašnjenjem.
[0046] Ova veza CN-ova sa ESB-ovima je veoma fleksibilna. Postaje moguće deljenje kapaciteta ubrzavača između računarskih čvorova. Virtuelizacija na nivou klastera nije ometana od strane modela i može se iskoristiti puni paralelizam ESB-a. Dodela ESB-ka-CN odvija se preko dinamičkog menadžera resursa RM. Statičko dodeljivanje u startnom vremenu može se učiniti dinamičnim u toku izvršenja programa. Sva komunikacija CN-ESB odvija se preko protokola klaster mreže. Intra-AC komunikacija će zahtevati nova rešenja. Dodela ESB-a može pratiti potrebe aplikacije i zagarantovana je tolerancija greške u slučaju otkaza ubrzavača, dok svi računarski čvorovi imaju isti kapacitet rasta.
[0047] Kao računski element bustera može se primeniti Intel-ov višejezgarni procesor Knight's Corner (KC). KC čip će se sastojati od više od 50 jezgara i očekuje se da će obezbediti računski kapacitet DP od preko 1 Teraflop/s po čipu. Sa 10.000 elemenata dosegle bi se ukupne performanse od 10 Petaflop/s. Prethodnik KC, procesor Knight's Ferri (KF) biće korišćen u projektu za kreiranje e-baziranog pilot sistema zasnovanog na PCI za proučavanje koncepta klaster-buster (CN -ESB).
[0048] Kako brzina računanja KF-a premašuje trenutno tržišno dostupnu robu procesora za faktor oko 10, intra-ESB komunikacioni sistem mora biti dimenzionisan u skladu sa tim. Komunikacioni sistem ESB-a zahteva najmanje 1 Terabit/s po kartici (dupleks). Komunikacioni sistem EXTOLL može se koristiti kao implementacija sistema sabirnica, koja omogućava brzinu komunikacije 1.44 Terabita/s po kartici. Ostvaruje 3d topologiju koja obezbeđuje 6 veza po kartici. Što se tiče njegove jednostavnosti, čini se da je ova topologija primenjiva za buster koji se zasniva na mnogojezgarnim ubrzavačima. Čak i sa dva pravca rezervisana za presecajuće (cut-through) rutiranje, EXTOLL može da zasiti performanse PCI Express-a u pogledu brzine prenosa podataka. Kašnjenje može dostići 0.3 ms, kada je bazirano na ASIC realizaciji. Trenutno se EXTOLL realizuje pomoću FPGA-ova.
[0049] Slika 4 prikazuje dijagram toka za ilustraciju jednog aspekta postupka za upravljanje rasporedom klastera računara prema predmetnom pronalasku. U prvom koraku 100, barem prvi deo računskog zadatka izračunava se najmanje od strane dva iz mnoštva računarskih čvorova CN, pri čemu je svaki računarski čvor CN povezan na komunikacionu infrastrukturu IN. Osim toga, izvodi se računanje barem drugog dela računskog zadatka u koraku 101 s najmanje jednim busterom B, pri čemu je svaki buster B povezan na komunikacionu infrastrukturu IN. Dalje, u koraku 102 obavlja se dodeljivanje najmanje jednog bustera B jednom od mnoštva računarskih čvorova CN od strane menadžera resursa RM, radi izračunavanja drugog dela računskog zadatka. Kao što desna strelica na sl. 4 naznačava, dijagram toka može biti upućen nazad na korak 100. Nakon dodeljivanja najmanje jednog bustera B barem jednom od mnoštva računarskih čvorova CN u koraku 102, dodeljivanje se može saopštiti računarskom čvoru CN, koji koristi prenesenu dodelu u daljim koracima upotrebe spoljnih resursa. Prema tome, izračunavanje barem drugog dela računskog zadatka se izvodi u koraku 101, kao funkcija koraka dodele 102.
[0050] Slika 5 prikazuje dijagram toka koji ilustruje postupak za upravljanje rasporedom klastera računara prema jednom aspektu predmetnog pronalaska. U prikazanom načinu izvođenja, nakon dodeljivanja u koraku 202 najmanje jednog bustera B jednom od mnoštva računarskih čvorova CN, izvodi se korak računanja 201 barem drugog dela računskog zadatka. Dakle, moguće je odabrati određeni buster B i na osnovu dodeljivanja koje se uspostavlja u koraku 202, buster B izračunava barem drugi deo računskog zadatka. Ovo može biti prednost u slučaju da se barem drugi deo računskog zadatka prosledi menadžeru resursa RM, koji drugom delu računskog zadatka dodeli buster B. Menadžer resursa RM tada može da prosledi drugi deo računskog zadatka busteru B, bez potrebe da računarski čvor CN direktno kontaktira buster B.
[0051] Pozivajući se na sl.4 i 5, stručnjak u oblasti u potpunosti razume da se bilo koji od koraka može izvesti iterativno, drugačijim redosledom i da može da sadrži dalje potkorake. Na primer, korak 102 može se izvesti pre koraka 101, što rezultira izračunavanjem prvog dela računskog zadatka, dodeljivanjem jednog bustera jednom računarskom čvoru i, konačno, izračunavanjem drugog dela računskog zadatka. Korak 102 može sadržavati potkorake, kao što je vraćanje nazad računarskom čvoru CN izračunatog barem drugog dela računskog zadatka. Dakle, buster B vraća izračunati rezultat nazad u računarske čvorove CN. Računarski čvorovi CN mogu koristiti vraćenu vrednost za izračunavanje daljih računskih zadataka i mogu opet proslediti barem dalji deo računskog zadatka makar jednom od bustera B.
[0052] Slika 6 prikazuje blok dijagram kontrole toka rasporeda klastera računara prema jednom aspektu predmetnog pronalaska. U prikazanom načinu izvođenja, računarski čvor CN prima računski zadatak i zahteva buster B za upotrebu spoljnih resursa za barem deo primljenog računskog zadatka. Stoga se pristupa menadžeru resursa RM, koji deo računskog zadatka prosleđuje izabranom busteru B. Buster B izračunava deo računskog zadatka i vraća rezultat, koji je naznačen najdesnijom strelicom. Prema daljem aspektu prikazanog načina izvođenja, povratna vrednost može se proslediti nazad na računarski čvor CN.
[0053] Slika 7 prikazuje blok dijagram kontrole toka, gde se primenjuje obrnuto ubrzavanje kod rasporeda klastera računara prema jednom aspektu predmetnog pronalaska. U prikazanom načinu izvođenja ubrzavanje izračunavanja računskih zadataka, koji se izračunavaju najmanje jednim busterom B, obavlja se dodeljivanjem najmanje jednog računarskog čvora CN najmanje jednom busteru B. Dakle, kontrola i protok informacija su obrnuti što se tiče načina izvođenja prikazanog na sl.6.
[0054] Računanje zadataka se prema tome može ubrzati tako što će se vršiti prebacivanje računskih zadataka sa bustera B na najmanje jedan računarski čvor CN.
[0055] Slika 8 prikazuje blok dijagram kontrole toka rasporeda klastera računara prema daljem aspektu predmetnog pronalaska. U prikazanom načinu izvođenja menadžer resursa RM ne prosleđuje barem jedan deo računskog zadatka busteru B, ali računarski čvor CN zahteva adresu ili dalju identifikaciju bustera B, koji je uređen da izračuna specifičan barem jedan deo računskog zadatka. Menadžer resursa RM vraća zahtevanu adresu računarskom čvoru CN. Računarski čvor CN je sada u mogućnosti da direktno pristupi busteru B pomoću komunikacione infrastrukture IN. U prikazanom načinu izvođenja komunikacionoj infrastrukturi IN pristupa se preko jedinica za povezivanje. Računarski čvorovi CN pristupaju komunikacionoj infrastrukturi IN preko jedinice za povezivanje IU1, a buster B je povezan na komunikacionu infrastrukturu IN preko jedinice za povezivanje IU2.
[0056] Pored toga, menadžer resursa RM je uređen da proceni kapacitete resursa bustera B i izvrši dodeljivanje, što znači izbor bustera B, kao funkciju procenjenih kapaciteta resursa svakog od bustera B. U tu svrhu menadžer resursa RM može pristupiti metrici dodele, koja može biti pohranjena u bazi podataka DB ili bilo koji izvor podataka. Menadžer resursa RM je uređen tako da ažurira metriku dodele, što se može obaviti korišćenjem sistema za upravljanje bazama podataka. Baza podataka DB može se implementirati kao bilo koja vrsta skladištenja. Na primer, može se implementirati kao tabela, registar ili keš memorija.
[0057] Slika 9 prikazuje šematsku ilustraciju topologije mreže rasporeda klastera računara prema jednom aspektu predmetnog pronalaska.
[0058] U jednom načinu izvođenja, računarski čvorovi dele zajedničku, prvo, komunikacionu infrastrukturu, na primer zvezdastu topologiju sa centralnom komutatorskom jedinicom S. Dalje, drugo, komunikaciona infrastruktura je obezbeđena za komunikaciju računarskih čvorova CN sa buster čvorovima BN. Treća komunikaciona infrastruktura obezbeđena je za komunikaciju između buster čvorova BN. Dakle, mrežni interfejs velike brzine za komunikaciju između buster čvorova BN može se dobiti pomoću posebnog BN-BN komunikacionog interfejsa. Komunikaciona infrastruktura BN-BN može se implementirati kao 3d topologija.
[0059] U daljem načinu izvođenja obezbeđene su dve komunikacione infrastrukture, jedna za komunikaciju između računarskih čvorova CN i jedna dodatna komunikaciona infrastruktura za komunikaciju između buster čvorova BN. Obe komunikacione infrastrukture mogu biti povezane najmanje jednom komunikacijskom vezom od prve mreže do druge mreže ili od druge mreže do prve mreže. Dakle, jedan odabrani računarski čvor CN ili jedan odabrani čvor bustera BN povezan je s odgovarajućom drugom mrežom. Na prikazanoj sl. 9 jedan čvor bustera BN povezan je na komunikacionu infrastrukturu računarskih čvorova CN korišćenjem komutatorske jedinice S.
[0060] U daljem načinu izvođenja sama grupa bustera BG može biti povezana na komunikacionu infrastrukturu računarskih čvorova CN ili na intermedijarnu komunikacionu infrastrukturu.
[0061] Komunikacione infrastrukture se uglavnom mogu razlikovati, između ostalih svojstava, po svojoj topologiji, širini opsega, komunikacionim protokolima, propusnosti (throughput) i razmeni poruka. Buster B može, na primer, sadržavati 1 do 10.000 buster čvorova BN, ali nije ograničen na ovaj opseg. Menadžer resursa RM generalno može upravljati delovima buster čvorova BN i stoga može podeliti ukupni broj buster čvorova BN i dinamički formirati bustere B od navedenog broja buster čvorova BN. Komutatorska jedinica S može se implementirati prekidačem (switch), ruterom ili bilo kojim mrežnim uređajem.
[0062] Stručnjak u oblasti u potpunosti razume dalje razmeštaje komponenti rasporeda klastera računara. Na primer, bazi podataka DB mogu pristupiti dodatne komponente, odnosno čvorovi rasporeda klastera računara. Ilustrovani računarski čvorovi CN, kao i ilustrovana grupa bustera BG, mogu biti jedan od mnogih daljih računarskih čvorova CN, kao i mnogobrojnih grupa bustera BG, respektivno, koji pristupaju menadžeru resursa RM i/ili komunikacionoj infrastrukturi IN. Dodatno, ubrzavanje se takođe može obaviti obrnuto tako što će se barem jedan deo računskog zadatka prebaciti sa najmanje jednog bustera B na najmanje jedan računarski čvor.
Claims (13)
1. Raspored klastera računara za obradu računskog zadatka, raspored klastera računara sadrži mnoštvo računarskih čvorova (CN), od kojih je svaki povezan na komunikacionu infrastrukturu (IN), najmanje dva čvora uređena su tako da zajedno izračunaju barem prvi deo navedenog računskog zadatka; naznačeno time što raspored klastera računara dalje sadrži:
mnoštvo bustera (B), najmanje jedan buster (B) iz mnoštva bustera uređen je tako da izračuna barem drugi specifičan deo navedenog računskog zadatka nakon što je dodeljen računarskom čvoru, svaki buster (B) povezan je na navedenu komunikacionu infrastrukturu (IN) i pri čemu busteri imaju dizajn procesora koji ima relativno opsežnu aritmetičko-logičku jedinicu i relativno jednostavnu upravljačku strukturu u poređenju sa dizajnom procesora računarskih čvorova; i
menadžer resursa (RM) koji je uređen da obavlja dodeljivanje najmanje jednog bustera (B) računarskom čvoru (CN) za izračunavanje navedenog drugog dela navedenog računskog zadatka, dodeljivanje se postiže kao funkcija unapred određene metrike dodele,
pri čemu je mnoštvo računarskih čvorova i mnoštvo bustera uređeno tako da tokom obrade navedenog računskog zadatka dodeljivanja računarskih čvorova i bustera mogu biti obezbeđena tako da je najmanje
(i) jedan ili više računarskih čvorova iz mnoštva računarskih čvorova uređen tako da komunicira sa jednim ili više bustera iz mnoštva bustera,
(ii) jedan ili više bustera deljiv od više od jednog računarskog čvora iz mnoštva računarskih čvorova, i
(iii) svaki od bustera dodeljiv svakom od računarskih čvorova,
i pri čemu je navedeni menadžer resursa uređen da obavlja dodeljivanje korišćenjem unapred određene metrike na početku obrade navedenog računskog zadatka i da ažurira metriku dodele tokom navedene obrade i time obavi dinamičko dodeljivanje bustera računarskim čvorovima tokom izvršavanja programa
(i) inizijalizacijom dodeljivanja na početku obrade korišćenjem unapred određene metrike dodele,
(ii) izmenom metrike dodele, i
(iii) obavljanjem ponovne dodele korišćenjem izmenjene metrike dodele tokom navedene obrade računskog zadatka.
2. Raspored klastera računara prema patentnom zahtevu 1, pri čemu je navedena unapred određena metrika dodele obrazovana prema najmanje jednoj od grupe tehnika metričke specifikacije, navedene grupe koja sadrži: vremensku logiku, matricu dodeljivanja, tabelu dodeljivanja, funkciju verovatnoće i funkciju troškova.
3. Raspored klastera računara prema jednom od prethodnih patentnih zahteva, pri čemu je navedena unapred određena metrika dodele specificirana kao funkcija najmanje jedne od grupe parametara dodeljivanja, navedene grupe koja sadrži: informacije o resursima, informacije o troškovima, informacije o složenosti, informacije o skalabilnosti, zapis računanja, informacije o kompajleru, informacije o prioritetu i vremensku oznaku.
4. Raspored klastera računara prema jednom od prethodnih patentnih zahteva, pri čemu navedeno dodeljvanje najmanje jednog bustera (B) jednom od navedenog mnoštva računarskih čvorova (CN) okida bar jedan iz grupe signala, navedene grupe koja uključuje: poziv udaljene procedure, primopredaju parametra i prenos podataka.
5. Raspored klastera računara prema jednom od prethodnih patentnih zahteva, pri čemu je svaki računarski čvor (CN) i svaki buster (B) povezan na komunikacionu infrastrukturu (IN) respektivno preko jedinice za povezivanje (IU1; IU2).
6. Raspored klastera računara prema patentnom zahtevu 5, pri čemu navedena jedinica za povezivanje (IU1; IU2) sadrži najmanje jednu grupu komponenti, navedenu grupu koja sadrži: virtuelni interfejs, stab kôd, ležište, mrežni kontroler i mrežni uređaj.
7. Raspored klastera računara prema jednom od prethodnih patentnih zahteva, pri čemu navedena komunikaciona infrastruktura (IN) sadrži najmanje jednu od grupe komponenti, navedenu grupu koja sadrži: sabirnicu, komunikacijsku vezu, komutatorsku jedinicu, ruter i mrežu velike brzine.
8. Raspored klastera računara prema jednom od prethodnih patentnih zahteva, pri čemu svaki računarski čvor (CN) sadrži najmanje jednu od grupe komponenti, navedenu grupu koja sadrži: višejezgarni procesor, klaster, računar, radnu stanicu i višenamenski procesor.
9. Raspored klastera računara prema jednom od prethodnih patentnih zahteva, pri čemu navedeni najmanje jedan buster (B) sadrži najmanje jednu grupu komponenti, navedenu grupu koja sadrži: mnogojezgarni procesor, skalarni procesor, koprocesor, grafičku procesorsku jedinicu, klaster mnogojezgarnih procesora i monolitski procesor.
10. Raspored klastera računara prema jednom od prethodnih patentnih zahteva, pri čemu je navedeni menadžer resursa (RM) uređen tako da ažurira navedenu unapred određenu metriku dodele, tokom računanja barem dela navedenog računskog zadatka.
11. Postupak za upravljanje rasporedom klastera računara prema jednom od patentnih zahteva 1 do 10 za obradu računskog zadatka, postupak koji sadrži:
- izračunavanje barem prvog dela navedenog računskog zadatka od strane najmanje dva iz mnoštva računarskih čvorova (CN), svaki računarski čvor (CN) povezan je na komunikacionu infrastrukturu (IN); i
- izračunavanje barem drugog dela navedenog računskog zadatka od strane najmanje jednog bustera (B) iz mnoštva bustera (B), svaki buster (B) povezan je na komunikacionu infrastrukturu (IN) nakon dodeljivanja najmanje jednog bustera (B) jednom iz mnoštva računarskih čvorova (CN) od strane menadžera resusra (RM), za izračunavanje navedenog drugog dela navedenog računskog zadatka, navedeno dodeljivanje je postignuto kao funkcija unapred određene metrike dodele,
pri čemu su tokom obrade navedenog računskog zadatka dodeljivanja računarskih čvorova i bustera obezbeđena tako da najmanje
(i) jedan ili više računarskih čvorova iz mnoštva računarskih čvorova komunicira sa jednim ili više bustera iz mnoštva bustera,
(ii) jedan ili više bustera jeste deljiv od više od jednog računarskog čvora iz mnoštva računarskih čvorova, i
(iii) svaki od bustera jeste dodeljiv svakom od računarskih čvorova,
i pri čemu navedeni menadžer resursa obavlja dodeljivanje korišćenjem unapred određene metrike na početku obrade navedenog računskog zadatka i ažurira metriku dodele tokom navedene obrade i time obavlja dinamičko dodeljivanje bustera računarskim čvorovima tokom izvršavanja programa
(i) inizijalizacijom dodeljivanja na početku obrade korišćenjem unapred određene metrike dodele,
(ii) ažuriranjem metrike dodele, i
(iii) obavljanjem ponovne dodele korišćenjem ažurirane metrike dodele tokom navedene obrade računskog zadatka.
12. Proizvod kompjuterskog programa koji je konfigurisan za ostvarivanje postupka prema patentnom zahtevu 11.
13. Računarski čitljiv medij za čuvanje navedenog proizvoda kompjuterskog programa prema patentnom zahtevu 12.
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| EP10187436A EP2442228A1 (en) | 2010-10-13 | 2010-10-13 | A computer cluster arrangement for processing a computaton task and method for operation thereof |
| EP11768015.7A EP2628080B1 (en) | 2010-10-13 | 2011-10-13 | A computer cluster arrangement for processing a computation task and method for operation thereof |
| PCT/EP2011/067888 WO2012049247A1 (en) | 2010-10-13 | 2011-10-13 | A computer cluster arrangement for processing a computation task and method for operation thereof |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| RS59165B1 true RS59165B1 (sr) | 2019-10-31 |
Family
ID=43831684
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| RSP20191093 RS59165B1 (sr) | 2010-10-13 | 2011-10-13 | Raspored klastera računara za obradu računskog zadatka i njegov način rada |
Country Status (19)
| Country | Link |
|---|---|
| US (4) | US10142156B2 (sr) |
| EP (4) | EP2442228A1 (sr) |
| JP (3) | JP6494161B2 (sr) |
| KR (3) | KR101823505B1 (sr) |
| CN (2) | CN103229146B (sr) |
| CA (3) | CA3145494A1 (sr) |
| CY (1) | CY1122108T1 (sr) |
| DK (1) | DK2628080T3 (sr) |
| ES (2) | ES2743469T3 (sr) |
| HR (2) | HRP20251046T1 (sr) |
| HU (2) | HUE044788T2 (sr) |
| LT (1) | LT2628080T (sr) |
| PL (2) | PL2628080T3 (sr) |
| PT (1) | PT2628080T (sr) |
| RS (1) | RS59165B1 (sr) |
| RU (1) | RU2597556C2 (sr) |
| SI (1) | SI2628080T1 (sr) |
| SM (1) | SMT201900477T1 (sr) |
| WO (1) | WO2012049247A1 (sr) |
Families Citing this family (24)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP2442228A1 (en) * | 2010-10-13 | 2012-04-18 | Thomas Lippert | A computer cluster arrangement for processing a computaton task and method for operation thereof |
| JP2014078214A (ja) * | 2012-09-20 | 2014-05-01 | Nec Corp | スケジュールシステム、スケジュール方法、スケジュールプログラム、及び、オペレーティングシステム |
| WO2014188643A1 (ja) * | 2013-05-24 | 2014-11-27 | 日本電気株式会社 | スケジュールシステム、スケジュール方法、及び、記録媒体 |
| KR20140093595A (ko) * | 2013-01-18 | 2014-07-28 | 서울대학교산학협력단 | 클러스터 시스템의 계산 디바이스 가상화 방법 및 그 시스템 |
| WO2014188642A1 (ja) * | 2013-05-22 | 2014-11-27 | 日本電気株式会社 | スケジュールシステム、スケジュール方法、及び、記録媒体 |
| KR101594915B1 (ko) * | 2014-01-23 | 2016-02-17 | 서울대학교산학협력단 | 매니코어 클러스터 시스템 상에서 병렬 프로그래밍을 수행하는 방법 및 매니코어 클러스터 시스템 |
| US10366102B2 (en) | 2014-02-19 | 2019-07-30 | Snowflake Inc. | Resource management systems and methods |
| US9584594B2 (en) | 2014-04-11 | 2017-02-28 | Maxeler Technologies Ltd. | Dynamic provisioning of processing resources in a virtualized computational architecture |
| US9501325B2 (en) | 2014-04-11 | 2016-11-22 | Maxeler Technologies Ltd. | System and method for shared utilization of virtualized computing resources |
| US10715587B2 (en) | 2014-04-11 | 2020-07-14 | Maxeler Technologies Ltd. | System and method for load balancing computer resources |
| CN105681366A (zh) * | 2014-09-26 | 2016-06-15 | 广西盛源行电子信息有限公司 | 一种把上万台北斗终端接入同一台服务器的算法 |
| CN105357258B (zh) | 2015-09-28 | 2020-06-26 | 华为技术有限公司 | 一种加速管理节点、加速节点、客户端及方法 |
| US10432450B2 (en) * | 2016-06-30 | 2019-10-01 | Microsoft Technology Licensing, Llc. | Data plane API in a distributed computing network |
| HUE056042T2 (hu) * | 2016-10-05 | 2022-01-28 | Partec Ag | Nagy teljesítményû számítórendszer és eljárás |
| US11049025B2 (en) * | 2017-03-15 | 2021-06-29 | Salesforce.Com, Inc. | Systems and methods for compute node management protocols |
| KR101985899B1 (ko) * | 2017-09-29 | 2019-06-04 | 주식회사 트레드링스 | 작업 할당 시스템, 방법, 및 컴퓨터 프로그램 |
| US20210073047A1 (en) * | 2017-09-30 | 2021-03-11 | Intel Corporation | Technologies for managing accelerator resources by cloud resource manager |
| JP7672821B2 (ja) | 2018-01-23 | 2025-05-08 | パルテック・アーゲー | アプリケーションの実行中に決定される異種コンピューティングリソースの動的な割り当て |
| CN110390516B (zh) * | 2018-04-20 | 2023-06-06 | 伊姆西Ip控股有限责任公司 | 用于数据处理的方法、装置和计算机存储介质 |
| EP3794448B1 (en) | 2018-05-15 | 2025-06-18 | ParTec AG | Apparatus and method for efficient parallel computation |
| EP3963449A1 (en) | 2019-04-30 | 2022-03-09 | Bernhard Frohwitter | Apparatus and method to dynamically optimize parallel computations |
| EP4435591A1 (en) | 2023-03-20 | 2024-09-25 | BF exaQC AG | Computing system for mixed precision processing of a computational task and method thereof |
| CN121175670A (zh) | 2023-05-24 | 2025-12-19 | Bf精准质控股份公司 | 用于制定并提供技术解决方案,特别是创造性解决方案的整体计算系统和方法 |
| WO2025153598A2 (en) * | 2024-01-19 | 2025-07-24 | Bf Exaqc Ag | Modular and expandable high performance computing system |
Family Cites Families (42)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0744504A (ja) * | 1993-07-27 | 1995-02-14 | Hitachi Ltd | Cpuと複数のpu,fpuから成る演算ユニット |
| EP1046994A3 (en) * | 1994-03-22 | 2000-12-06 | Hyperchip Inc. | Efficient direct cell replacement fault tolerant architecture supporting completely integrated systems with means for direct communication with system operator |
| US7051188B1 (en) | 1999-09-28 | 2006-05-23 | International Business Machines Corporation | Dynamically redistributing shareable resources of a computing environment to manage the workload of that environment |
| US7418470B2 (en) * | 2000-06-26 | 2008-08-26 | Massively Parallel Technologies, Inc. | Parallel processing systems and method |
| JP2002084302A (ja) * | 2000-09-06 | 2002-03-22 | Nippon Telegr & Teleph Corp <Ntt> | ネットワークによる通信方法及び装置 |
| RU2188451C2 (ru) * | 2000-10-25 | 2002-08-27 | Курский государственный технический университет | Система взаимораспределения ресурсов |
| US7739398B1 (en) * | 2000-11-21 | 2010-06-15 | Avaya Inc. | Dynamic load balancer |
| US6922832B2 (en) | 2000-12-12 | 2005-07-26 | Lockheed Martin Corporation | Execution of dynamic services in a flexible architecture for e-commerce |
| US7203747B2 (en) | 2001-05-25 | 2007-04-10 | Overture Services Inc. | Load balancing system and method in a multiprocessor system |
| US20030164842A1 (en) * | 2002-03-04 | 2003-09-04 | Oberoi Ranjit S. | Slice blend extension for accumulation buffering |
| US8397269B2 (en) * | 2002-08-13 | 2013-03-12 | Microsoft Corporation | Fast digital channel changing |
| US7395536B2 (en) * | 2002-11-14 | 2008-07-01 | Sun Microsystems, Inc. | System and method for submitting and performing computational tasks in a distributed heterogeneous networked environment |
| US7137040B2 (en) | 2003-02-12 | 2006-11-14 | International Business Machines Corporation | Scalable method of continuous monitoring the remotely accessible resources against the node failures for very large clusters |
| WO2004077259A2 (en) * | 2003-02-24 | 2004-09-10 | Bea Systems Inc. | System and method for server load balancing and server affinity |
| US7093147B2 (en) | 2003-04-25 | 2006-08-15 | Hewlett-Packard Development Company, L.P. | Dynamically selecting processor cores for overall power efficiency |
| US7714870B2 (en) * | 2003-06-23 | 2010-05-11 | Intel Corporation | Apparatus and method for selectable hardware accelerators in a data driven architecture |
| US7996839B2 (en) | 2003-07-16 | 2011-08-09 | Hewlett-Packard Development Company, L.P. | Heterogeneous processor core systems for improved throughput |
| US20050097300A1 (en) * | 2003-10-30 | 2005-05-05 | International Business Machines Corporation | Processing system and method including a dedicated collective offload engine providing collective processing in a distributed computing environment |
| US9264384B1 (en) | 2004-07-22 | 2016-02-16 | Oracle International Corporation | Resource virtualization mechanism including virtual host bus adapters |
| US7437581B2 (en) * | 2004-09-28 | 2008-10-14 | Intel Corporation | Method and apparatus for varying energy per instruction according to the amount of available parallelism |
| JP2006277458A (ja) | 2005-03-30 | 2006-10-12 | Hitachi Ltd | リソース割当管理装置およびリソース割当方法 |
| US7500083B2 (en) | 2005-08-15 | 2009-03-03 | Silicon Informatics | Accelerated processing with scheduling to configured coprocessor for molecular data type by service and control coprocessor upon analysis of software code |
| WO2007038445A2 (en) * | 2005-09-26 | 2007-04-05 | Advanced Cluster Systems, Llc | Clustered computer system |
| US7490223B2 (en) | 2005-10-31 | 2009-02-10 | Sun Microsystems, Inc. | Dynamic resource allocation among master processors that require service from a coprocessor |
| US7441224B2 (en) * | 2006-03-09 | 2008-10-21 | Motorola, Inc. | Streaming kernel selection for reconfigurable processor |
| US8713574B2 (en) * | 2006-06-05 | 2014-04-29 | International Business Machines Corporation | Soft co-processors to provide a software service function off-load architecture in a multi-core processing environment |
| JP4936517B2 (ja) * | 2006-06-06 | 2012-05-23 | 学校法人早稲田大学 | ヘテロジニアス・マルチプロセッサシステムの制御方法及びマルチグレイン並列化コンパイラ |
| US8589935B2 (en) | 2007-05-08 | 2013-11-19 | L-3 Communications Corporation | Heterogeneous reconfigurable agent compute engine (HRACE) |
| US8250578B2 (en) * | 2008-02-22 | 2012-08-21 | International Business Machines Corporation | Pipelining hardware accelerators to computer systems |
| US7953912B2 (en) * | 2008-02-22 | 2011-05-31 | International Business Machines Corporation | Guided attachment of accelerators to computer systems |
| US8615647B2 (en) | 2008-02-29 | 2013-12-24 | Intel Corporation | Migrating execution of thread between cores of different instruction set architecture in multi-core processor and transitioning each core to respective on / off power state |
| US8434087B2 (en) * | 2008-08-29 | 2013-04-30 | International Business Machines Corporation | Distributed acceleration devices management for streams processing |
| US9104617B2 (en) * | 2008-11-13 | 2015-08-11 | International Business Machines Corporation | Using accelerators in a hybrid architecture for system checkpointing |
| FR2938943B1 (fr) * | 2008-11-21 | 2010-11-12 | Thales Sa | Systeme multiprocesseur. |
| CN101441564B (zh) * | 2008-12-04 | 2011-07-20 | 浙江大学 | 为程序定制的可重构加速器实现方法 |
| US9588806B2 (en) * | 2008-12-12 | 2017-03-07 | Sap Se | Cluster-based business process management through eager displacement and on-demand recovery |
| CN101819540B (zh) * | 2009-02-27 | 2013-03-20 | 国际商业机器公司 | 在集群中调度任务的方法和系统 |
| US8869160B2 (en) * | 2009-12-24 | 2014-10-21 | International Business Machines Corporation | Goal oriented performance management of workload utilizing accelerators |
| CN101763288B (zh) * | 2010-01-19 | 2012-09-05 | 湖南大学 | 考虑硬件预配置因素的动态软硬件划分方法 |
| US8875152B2 (en) * | 2010-04-22 | 2014-10-28 | Salesforce.Com, Inc. | System, method and computer program product for dynamically increasing resources utilized for processing tasks |
| US8739171B2 (en) * | 2010-08-31 | 2014-05-27 | International Business Machines Corporation | High-throughput-computing in a hybrid computing environment |
| EP2442228A1 (en) * | 2010-10-13 | 2012-04-18 | Thomas Lippert | A computer cluster arrangement for processing a computaton task and method for operation thereof |
-
2010
- 2010-10-13 EP EP10187436A patent/EP2442228A1/en active Pending
-
2011
- 2011-10-13 HR HRP20251046TT patent/HRP20251046T1/hr unknown
- 2011-10-13 HR HRP20191640 patent/HRP20191640T1/hr unknown
- 2011-10-13 ES ES11768015T patent/ES2743469T3/es active Active
- 2011-10-13 ES ES19179073T patent/ES3039632T3/es active Active
- 2011-10-13 LT LTEP11768015.7T patent/LT2628080T/lt unknown
- 2011-10-13 HU HUE11768015 patent/HUE044788T2/hu unknown
- 2011-10-13 KR KR1020137011931A patent/KR101823505B1/ko active Active
- 2011-10-13 PL PL11768015T patent/PL2628080T3/pl unknown
- 2011-10-13 SI SI201131773T patent/SI2628080T1/sl unknown
- 2011-10-13 PT PT11768015T patent/PT2628080T/pt unknown
- 2011-10-13 CA CA3145494A patent/CA3145494A1/en active Pending
- 2011-10-13 CA CA2814309A patent/CA2814309C/en active Active
- 2011-10-13 RS RSP20191093 patent/RS59165B1/sr unknown
- 2011-10-13 WO PCT/EP2011/067888 patent/WO2012049247A1/en not_active Ceased
- 2011-10-13 SM SM20190477T patent/SMT201900477T1/it unknown
- 2011-10-13 KR KR1020197005913A patent/KR102074468B1/ko active Active
- 2011-10-13 EP EP25184845.3A patent/EP4610826A3/en active Pending
- 2011-10-13 KR KR1020187002295A patent/KR102103596B1/ko active Active
- 2011-10-13 JP JP2013533215A patent/JP6494161B2/ja active Active
- 2011-10-13 DK DK11768015.7T patent/DK2628080T3/da active
- 2011-10-13 CN CN201180056850.8A patent/CN103229146B/zh active Active
- 2011-10-13 EP EP11768015.7A patent/EP2628080B1/en not_active Revoked
- 2011-10-13 RU RU2013121560/12A patent/RU2597556C2/ru active
- 2011-10-13 HU HUE19179073A patent/HUE073099T2/hu unknown
- 2011-10-13 CN CN201811402100.1A patent/CN109491795A/zh active Pending
- 2011-10-13 CA CA3027973A patent/CA3027973C/en active Active
- 2011-10-13 PL PL19179073.2T patent/PL3614263T3/pl unknown
- 2011-10-13 EP EP19179073.2A patent/EP3614263B1/en active Active
-
2013
- 2013-04-12 US US13/861,429 patent/US10142156B2/en active Active
-
2017
- 2017-08-04 JP JP2017152006A patent/JP6433554B2/ja active Active
-
2018
- 2018-11-06 JP JP2018208953A patent/JP6653366B2/ja active Active
- 2018-11-15 US US16/191,973 patent/US10951458B2/en active Active
-
2019
- 2019-09-11 CY CY20191100948T patent/CY1122108T1/el unknown
-
2021
- 2021-03-09 US US17/196,665 patent/US11934883B2/en active Active
-
2024
- 2024-01-31 US US18/429,370 patent/US20240168823A1/en active Pending
Also Published As
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11934883B2 (en) | Computer cluster arrangement for processing a computation task and method for operation thereof | |
| Syrivelis et al. | A software-defined architecture and prototype for disaggregated memory rack scale systems | |
| US11138146B2 (en) | Hyperscale architecture | |
| CN104360980B (zh) | 一种多平面分离式多分区计算机体系结构 | |
| Dong et al. | Venice: Exploring server architectures for effective resource sharing | |
| Ihnotic | Scaling to 32 gpus on a novel composable system architecture | |
| US11733980B2 (en) | Application implementation and buffer allocation for a data processing engine array | |
| HK40007444A (en) | A computer cluster arrangement for processing a computation task and method for operation thereof | |
| Nunes et al. | IPNoSys III: SDN Paradigm in a non-conventional NoC-based Processor IPNoSys III: O Paradigma SDN em uma NoC Baseada em um Processador Não Convencional | |
| HK1187431A (en) | A computer cluster arrangement for processing a computation task and method for operation thereof | |
| Misawa et al. | Dynamic Reconfiguration of Computer Platforms at the Hardware Device Level for High Performance Computing Infrastructure as a Service | |
| HK1187431B (zh) | 用於处理计算任务的计算机集群布置及其操作方法 |