Convolution Neural Networks (CNNs), en särskild underkategori av Deep Learning Neural Networks (DNNs), har blivit allt populärare inom industrin och den akademiska världen för sin kraftfulla förmåga inom mönsterklassificering, bildbehandling och taligenkänning. Nyligen har de varit allmänt antagna i High Performance Computing (HPC) miljöer för att lösa komplexa problem relaterade till modellering, runtime förutsägelse, och big data analys. Nuvarande state-of-the-art design för DNNs på moderna multi-och många core CPU arkitekturer, såsom varianter av Caffe, har rapporterat lovande prestanda i hastighet och skalbarhet, jämförbara med GPU implementationer. Men moderna CPU-arkitekturer använder icke-Uniform Memory Access (NUMA) teknik för att integrera flera uttag, som medför unika utmaningar för att utforma mycket effektiva CNN ramar. Utan en noggrann design kan DNN-ramverk lätt lida av lång minneslatens på grund av ett stort antal minnesåtkomst till avlägsna NUMA-domäner, vilket resulterar i dålig skalbarhet. För att ta itu med denna utmaning, föreslår vi NUMA-medveten multi-solver-baserad CNN-design, som heter NUMA-Caffe, för att accelerera djupt lärande neurala nätverk på multi-och många-kärna CPU-arkitekturer. NUMA-Caffe är oberoende av DNN topologi, påverkar inte nätkonvergensen, och ger överlägsen skalbarhet till de befintliga Caffe varianterna. Genom en grundlig empirisk studie av fyra samtida NUMA-baserade multi- och mångkärniga arkitekturer visar våra experimentella resultat att NUMA-Caffe avsevärt överträffar de toppmoderna Caffe-designerna både vad gäller genomströmning och skalbarhet. Tillstånd att göra digitala eller papperskopior av hela eller delar av detta arbete för personligt bruk eller klassrum beviljas utan avgift, förutsatt att kopiorna inte görs eller distribueras för vinst eller kommersiella fördelar och att kopiorna är försedda med detta meddelande och den fullständiga hänvisningen på första sidan. Upphovsrätt till delar av detta verk som ägs av andra än ACM måste hedras. Abstraktering med kredit är tillåten. För att kopiera på annat sätt, eller återpublicera, för att posta på servrar eller för att omfördela till listor, krävs tidigare specifik behörighet och/eller avgift. Med förekomsten av kraftfulla multi-core- och många-core-baserade arkitekturer i moderna HPC-system, har forskare försökt tillämpa HPC resurser för att påskynda djupa neurala nätverk (DNNs) långa utbildningsprocesser. Befintliga metoder har fokuserat på att utveckla GPU-centrerade metoder [16, 21, 28, 51] för att påskynda DNN-utbildningen på grund av dess massiva parallellism och arkitekturspecifika optimeringsbibliotek (t.ex. cuBLAS och cuDNN [13] ). Det finns dock flera begränsningar som hindrar GPU skalbarhet som en effektiv träningsplattform: (i) litet inhemskt minne som de flesta verkliga dataindata inte kan passa in, (ii) brist på allmängiltighet i optimeringar, (iii) svårighet att portera över arkitekturer, och (iv) stark partiskhet mot vissa tillämpningar [55]. Detta gör allmänt tillgängliga CPU-baserade multi-och många-kärna arkitekturer ett starkt alternativ för att träna komplexa neurala nätverk. Detta arbete har fått brett stöd av både den akademiska världen och industrin, t.ex. Microsofts projekt Adam [14] och spg-CNN [52]. Den främsta anledningen till att använda CPU-baserade plattformar är att de är lättillgängliga och kan uppnå flera teraflops, perfekt för träning medium och måttligt stora nätverk inom en rimlig tid. Dessutom har den senaste forskningen om CPU arkitekturer [19, 55] visat betydande utbildning hastighetsförbättringar, även på prestandanivå som de som uppnås genom GPU optimeringar. Således, ta itu med CPU-baserade maskininlärning utmaningar är både viktigt och nödvändigt. Men de toppmoderna Convolution Neural Network (CNN) designar ofta saknar sofistikering i att överväga komplexa minneshierarkier av moderna multi-core och många-core arkitekturer och deras inverkan på genomströmning och skalbarhet. Till exempel har moderna flerkärniga och mångkärniga arkitekturer använt sig av icke-uniforma minnesåtkomsttekniker (NUMA) för att skala upp minnesbandbredden. En NUMA-arkitektur kan skala till tusentals kärnor, såsom SGI UV [53] och HP Integrity Superdome X [24]. En typisk NUMA-arkitektur integrerar flera mikroprocessorer, och var och en har sitt minne fysiskt fäst. Alla två mikroprocessorer använder en höghastighetsförbindelse (t.ex. Intel QuickPath [17] och AMD:s HyperTransport [23] ) för att utbyta data. Kärnor i varje mikroprocessor kan komma åt det lokala minnet direkt kopplat till samma mikroprocessor och även fjärrminne kopplat till andra mikroprocessorer. För att förenkla diskussionen för de system där NUMA-effekter kan finnas i både huvudminnet och sista nivåns cache, hänvisar vi till cache/minne tillsammans med alla CPU-kärnor som kan komma åt en minnespartition med enhetlig latens som en NUMA-nod. Lokala och avlägsna NUMA noder har betydande skillnader i tillgång till latens och tillgänglig bandbredd. Vanligtvis har en fjärråtkomst lägre bandbredd och medför mer latens än en lokal åtkomst. I NUMA-arkitekturer kan multitrådade program drabbas av betydande prestandanedbrytning om de får tillgång till data i fjärrminnet med hög frekvens. Eftersom moderna superdatorer vanligen bygger på en stor mängd multi-socket-baserade datornoder, är det uppenbart att identifiera och lösa skalningsproblem som härrör från fjärrkommunikation med NUMA för att skala upp djupinlärningsalgoritmer. Genom en detaljerad prestanda skalbarhet studie, vi finner att nuvarande multi-och många-kärniga CPU-baserade CNN-konstruktioner inte tar NUMA effekter i beaktande, orsakar betydande skalbarhet problem på dagens NUMA arkitekturer. Ta två varianter av en populär CNN-ramverk-Caffe som exempel, den ursprungliga Berkley Vision Lab version [34] och den nyligen släppt Intel-Caffe [19], som är mycket accelererad av Intel Math Kernel Library 2017 [32] och batch-nivå parallellisering [55]-har till stor del fokuserat på lagernivå parallellism och minnesoptimeringar inuti en NUMA nod. Enligt våra observationer om fyra samtida arkitekturer ska dock ingen av de två designerna skalas väl över NUMA noder (avsnitt 3). Detta beror på att arbetartrådar lekte för både batch-nivå och BLAS-nivå parallellisering körs på kärnor i olika NUMA
REF föreslås som en ny NUMA-medveten ram för utbildning av CNN:er på moderna CPU-baserade multi- och många core-baserade arkitekturer.
NUMA-Caffe: NUMA-Aware Deep Learning Neural Networks
{'venue': 'TACO', 'journal': None, 'mag_field_of_study': ['Computer Science']}