Zachęcamy PT Czytelników do lektury bardzo interesującej książki poświęconej nowemu paradygmatowi przetwarzania w systemach komputerowych autorstwa Shirinzadeh S., Drechsler R., pt. In-memory computing: synthesis and optimization. Autorzy książki są pracownikami naukowymi DKFI w Bremie.
Saideh Shirinzadeh jest pracownikiem naukowym German Research Center for Artificial Intelligence (niem. Deutsches Forschungszentrum für Künstliche Intelligenz (DFKI)). Jej prace naukowe skupiają się głównie na tematyce związanej z zastosowaniami technologii Resisitive Random Access Memory (RRAM)
Rolf Drechsler jest profesorem zwyczajnym i kierownikiem Grupy Architektury Komputerowej Instytutu Informatyki Uniwersytetu w Bremie w Niemczech. W 2011 r. został dodatkowo dyrektorem Grupy Cyber-Fizycznych Systemów w Niemieckim Centrum Badań Sztucznej Inteligencji (niem. Deutsches Forschungszentrum für Künstliche Intelligenz (DFKI)) w Bremie.
Wcześniej pracował w dziale technologii korporacyjnych Siemens AG, a także w Instytucie Informatyki Uniwersytetu Alberta Ludwiga we Fryburgu/Breisgau w Niemczech. Rolf Drechsler otrzymał dyplom doktora nauk technicznych w dyscyplinie informatyka na Uniwersytecie Goethego we Frankfurcie nad Menem, w 1992 r. Rolf Drechsler koncentruje się w swoich badaniach w DFKI i Grupie Architektury Komputerowej, którą kieruje w Instytucie Informatyki Uniwersytetu w Bremie, w zakresie rozwoju i projektowania struktur danych i algorytmów, ze szczególnym uwzględnieniem projektowania obwodów i systemów.
Rolf Drechsler był i nadal jest członkiem komitetów programowych wielu konferencji (m.in. DAC, ICCAD, DATE, ASP-DAC, FDL, MEMOCODE, FMCAD). Poza tym jest współzałożycielem Graduate School of Embedded Systems, która rozpoczęła działalność w 2006 roku. Od 2012 roku dodatkowo koordynuje Graduate School System Design.
Autorzy książki wprowadzają nas w swoim opracowaniu w niezwykle ciekawy i obiecujący świat nowego paradygmatu przetwarzania. Przez wiele lat model architektury komputerowej von Neumanna był jednym z najważniejszych paradygmatów w inżynierii komputerowej. Jednostka centralna (CPU) z pamięcią główną (pamięć podstawowa) jest podłączona do pamięci zewnętrznej (pamięć RAM, dyski itp.). Byłoby miło mieć wystarczającą ilość pamięci RAM do przechowywania wszystkich danych przetwarzanych przez komputery, ale jest to niemożliwe z powodu bardzo wysokich kosztów. Dyski twarde mają znacznie większą pojemność niż pamięć RAM, ale czas dostępu do dysku jest wielokrotnie dłuższy. W rezultacie komunikacja między procesorem a pamięcią powoduje długie opóźnienia, co ogranicza wydajność procesora; wynikiem jest wąskie gardło w dostępie do pamięci. Ponieważ oczekuje się, że sztuczna inteligencja (AI) będzie w stanie przetwarzać duże zbiory danych, a Internet rzeczy (IoT) stanie się nowym wszechobecnym wyzwaniem, to wąskie gardło jest główną przeszkodą. Czy jest jakieś rozwiązanie? Jak możemy uniknąć kosztów komunikacji między procesorem a pamięcią? Autorzy tej książki starają się przekonać czytelników, że odpowiedzią jest przetwarzanie w pamięci. Jak można przetwarzać dane w pamięci? Czy potrzebne są nowe technologie elektroniczne poza wykraczające technologię CMOS?
Pamięć rezystancyjna RAM (ang. Resistive RAM, RRAM) jest odpowiedzią. Przechowuje dane w postaci zmian rezystancji elektrycznej, która może reprezentować wartości binarne. Jak działa RRAM? Jaki jest jej podstawowy element? Książka, zwłaszcza rozdział 2, otwiera to enigmatyczne „pudełko” i podaje czytelnikom kilka niezbędnych szczegółów technologicznych. Znaną od lat 60-tych XX w. ciekawą właściwością izolatora tlenkowego przełączanego za pomocą dwóch metalowych elektrod jest nagłe przełączenie jego rezystancji w obecności zmian napięcia. Ogniwo RRAM przypomina rezystor elektryczny, w którym można przełączać rezystancję; jest to dokładnie to samo co memrystor, tyle że rozwiązania RRAM nie ma wpływu przepływ magnetyczny. Leon Chua zaproponował koncepcję memrystora w 1971 r. jako czwarty podstawowy element obwodu pasywnego. Do 2008 r. w tym zakresie nie wyprodukowano żadnego takiego elementu elektronicznego. Teraz mamy co najmniej trzy różne modele fizyczne memrystorów. Urządzenia RRAM pozwalają na implementację logiki bezpośrednio w pamięci, co prowadzi do logiki wspomaganej przez pamięć (MAGIC).
Książka przedstawia kompleksowe podejście do syntezy i optymalizacji logiki (obliczeń) w pamięci dla sprzętu komputerowego i architektury. Składa się z czterech głównych rozdziałów. Rozdział 2, oprócz wspomnianego wcześniej tła historycznego, zawiera szczegółowe informacje na temat reprezentacji logicznych, takich jak binarne diagramy decyzyjne (BDD), grafy typu and-inverter (AIG) i grafy majority-inverter (MIG). Rozdział 3 koncentruje się na optymalizacji i aproksymacji BDD - BDD jest wykorzystywany w komputerowym projektowaniu wspomaganym komputerowo (CAD) VLSI - jako główna technika optymalizacji zmiennych i produkcji niedrogich obwodów; tutaj najważniejszym algorytmem jest MOB. Rozdział 4 koncentruje się na syntezie RRAM dla obliczeń logiki w pamięci w odniesieniu do bramek NAND. Wykorzystuje BDD, AIG i MIG (omówione w rozdziale 2). Istnieje kilka przykładów syntezy opartej na BDD („realizacja MUX opartej na IMP”), syntezy opartej na AIG (bramki AND / NAND) i syntezy opartej na MIG (bramka większościowa). Ostatni rozdział wyjaśnia i ocenia, w jaki sposób programowalna logika w pamięci (PLiM) jest wykorzystywana w praktyce do przetwarzania.
Ta krótka, ale bardzo interesująca książka daje czytelnikom wiele do przemyślenia. Czytelnicy przekonani o wszechobecności architektury von Neumanna i architektury Harvardzkiej w inżynierii komputerowej zostaną zapoznani z nową koncepcja umożliwiającą zmianę bieżącego paradygmatu. Przez wiele lat obliczenia w pamięci były trudne do wyobrażenia i większość z nas była przyzwyczajona do istniejących podejść w inżynierii komputerowej i przetwarzaniu. Ta książka ujawnia nowe możliwości i zupełnie do tej pory nieznane obszary. Zobaczymy przyszłość rozwoju obliczeń w pamięci, ale książka jest również warta przeczytania choćby dlatego, że pokazuje, co można zrobić, aby wykonywać znacznie szybsze obliczenia.
Pełną recenzję książki w języku angielskim można znaleźć na stronach Computing Reviews (dostęp po zalogowaniu):
http://www.computingreviews.com/review/review_review.cfm?review_id=146746
lub jako załącznik.