EBOOK SUMMARY CHAPTER-3 PARALLER PROCESSING (ARSITEKTUR KOMPUTER) PENYUSUN Fajar Subeki 41519120052 Hasburrahman 41519120055 Ali Sudali 41519120059 Di dalam suatu sistem komputer terdapat sebuah bahasa yang bekerja di belakang itu. Yaitu bahasa pemrograman. Bahasa pemrograman mengharuskan pemrogram untuk menentukan algoritma sebagai urutan instruksi. Prosesor menjalankan program dengan menjalankan mesin instruksi secara berurutan dan satu per satu. Setiap instruksi dieksekusi di urutan operasi (mengambil instruksi, mengambil operan, melakukan operasi, menyimpan hasil). 1) MULTIPLE PROCESSOR ORGANIZATIONS Jenis Sistem Processor Paraller : Taksonomi yang pertama kali diperkenalkan oleh Flynn [FLYN72] masih menjadi cara yang paling umum untuk mengkategorikan sistem dengan kemampuan pemrosesan palarel. Kategori Flynn dalam sistem komputer: A) Single Instruction, Single Data (SISD) Stream, Prosesor tunggal menjalankan instruksi tunggal streaming untuk mengoperasikan data yang disimpan dalam satu memori. B) Single Instruction, Multiple Data (SIMD) Stream, Instruksi mesin tunggal mengontrol eksesuksi simultan dari sejumlah elemen pemrosesan dengan basis langkah yang sama. Prosessor vektor dan array termasuk dalam kategori ini. C) Multiple Instruction, Single Data (MISD) Stream, Urutan data ditransmisikan ke satu set prosesor, yang masing-masing menjalankan urutan instruksi yang berbeda. D) Multiple Instruction, Multiple Data (MIMD) Stream, Satu set processor dijalankan secara bersamaan urutan instruksi yang berbeda pada kumpulan data yang berbeda. Contonya adalah SMP, Cluster, dan sistem NUMA. Dengan penjelasan diatas, dapat disumpulkan bahwa MMID, prosessor memiliki tujuan umum, masing-masing dapat memproses semua instruksi yang diperlukan untuk melakukan transformasi data yang sesuai. MMID bisa lebih jauh dibagi lagi dengan cara prosessor berkomunikasi. 2) SYMMETRIC MULTIPROCESSOR Komputer pribadi saat ini berisi file mikroprocessor tujuan umum tunggal. Sebagai tuntutan untuk peningkatan kinerja dan sebagai biaya mikroprocessor terus menurun, vendor telah memperkenalkan sistem dengan organisasi SMP. Berikut karakteristik SMP : 1. Ada dua atau lebih prosesor serupa dengan kemampuan yang sebanding. 2. Prosesor ini berbagi memori utama dan fasilitas I / O yang sama dan saling terhubung oleh bus atau skema koneksi internal lainnya, sehingga waktu akses memori kira-kira sebesar sama untuk setiap prosesor. 3. Semua prosesor berbagi akses ke perangkat I / O, baik melalui saluran yang sama atau melalui saluran berbeda yang menyediakan jalur ke perangkat yang sama. 4. Semua prosesor dapat melakukan fungsi yang sama (karenanya disebut simetris). 5. Sistem dikendalikan oleh sistem operasi terintegrasi yang menyediakan interaksi antara prosesor dan program mereka di tingkat pekerjaan, tugas, file, dan elemen data. Keunggulan SMP : 1. Performance, sistem dengan banyak processor akan menghasilkan kinerja yang lebih besar dari satu dengan processor tunggal dengan tipe yang sama 2. Availability, dalam multiprosesor simetris, karena semua prosesor dapat melakukan hal yang sama fungsi, kegagalan prosesor tunggal tidak menghentikan mesin. 3. Incremental Growth, pengguna dapat meningkatkan kinerja sistem dengan menambahkan prosesor tambahan 4. Scaling, An attractive feature of an SMP is that the existence of multiple processors is transparent to the user. The operating system takes care of scheduling threads or processes on individual processors, and of synchronization among processors. Bus terdiri dari jalur kontrol, alamat, dan data. Untuk memfasilitasi transfer DMA dari subsistem I/O ke processor, terdapat beberapa fitur-fitur tersebut yaitu : Addressing, Arbitration, Time-Sharing. Organisasi bus memiliki beberapa fitur menarik: a. Simplicity : Ini adalah pendekatan paling sederhana untuk organisasi multiprosesor. Antarmuka fisik dan logika pengalamatan, arbitrase, dan pembagian waktu dari setiap prosesor tetap sama seperti di sistem prosesor tunggal. b. Flexibility : Secara umum mudah untuk memperluas sistem dengan memasang lebih banyak prosesor ke bus. c. Realibility : Bus pada dasarnya adalah media pasif, dan kegagalan perangkat apa pun yang terpasang seharusnya tidak menyebabkan kegagalan seluruh sistem. Sistem operasi SMP mengelola prosesor dan sumber daya komputer lainnya sehingga pengguna merasakan sistem operasi tunggal yang mengendalikan sumber daya sistem. Sebenarnya, konfigurasi seperti itu seharusnya muncul sebagai sistem multiprogramming prosesor tunggal. 3) CACHE COHERANCE AND THE MESI PROTOCOL Dalam sistem multiprocessor kontemporer, biasanya memiliki satu atau dua tingkat cache terkait dengan setiap processor. Organisasi ini penting untuk mencapai kinerja yang wajar. Itu tidak, bagaimanapun, membuat masalah yang dikenal sebagai masalah koherensi cache. a. Software Solutions Skema koherensi cache perangkat lunak berusaha untuk menghindari kebutuhan sirkuit perangkat keras tambahan dan logika dengan mengandalkan kompiler dan sistem operasi untuk menangani masalah tersebut. Pendekatan perangkat lunak menarik karena overhead pendeteksian masalah potensial ditransfer dari run time ke waktu kompilasi, dan kompleksitas desain ditransfer dari perangkat keras ke perangkat lunak. b. Hardware Solutions Solusi berbasis perangkat keras umumnya disebut sebagai protokol koherensi cache. Solusi ini memberikan pengenalan dinamis pada saat menjalankan kondisi potensi tidak konsistenan. Hardware ini dapat dibagi menjadi 2 kategori yaitu Directory Protocol and Snoopy Protocol. c. Directory Protocols Protokol direktori mengumpulkan dan memelihara informasi tentang di mana salinan baris berada. Khas, ada pengontrol terpusat yang merupakan bagian dari pengontrol memori utama, dan direktori yang disimpan di memori utama. Direktori berisi informasi negara global tentang isi berbagai lokal cache. D. Snoopy Protocols Protokol Snoopy mendistribusikan tanggung jawab untuk menjaga koherensi cache di antara semua cache pengontrol dalam multiprosesor. Cache harus mengenali ketika sebuah baris yang dimilikinya dibagikan dengan yang lain cache. Ketika tindakan pembaruan dilakukan pada baris cache bersama, itu harus diumumkan ke semua yang lain cache dengan mekanisme siaran. E. The MESI Protocol Untuk memberikan konsistensi cache pada SMP, cache data sering kali mendukung protokol yang dikenal sebagai MESI. Untuk MESI, cache data menyertakan dua bit status per tag, sehingga setiap baris dapat berada di salah satu dari empat menyatakan: Modiefied : Baris di cache telah dimodifikasi (berbeda dari memori utama) dan tersedia hanya di cache ini. Exclusive : Baris di cache sama dengan baris di memori utama dan tidak ada di mana pun cache lainnya. Shared: Baris di cache sama dengan yang ada di memori utama dan mungkin ada di baris lain cache. Invalid: Baris di cache tidak berisi data yang valid Ketika terjadi kesalahan baca di cache lokal, prosesor memulai pembacaan memori untuk membaca baris memori utama yang berisi alamat yang hilang. Prosesor memasukkan sinyal di bus yang memberi tahu semua prosesor / unit cache lain untuk mengintip transaksi. 4) Multithreading dan Multiprosesor Chip Ukuran kinerja yang paling penting untuk prosesor adalah kecepatan di mana ia menjalankan instruksi. Ini dapat dinyatakan sebagai. MIPS rate = f × IPC di mana f adalah frekuensi clock prosesor dalam MHz, dan IPC (instruksi per siklus) adalah rata-rata jumlah instruksi yang dieksekusi per siklus. Dengan demikian, perancang telah mengejar tujuan peningkatan kinerja di dua bidang: meningkatkan frekuensi clock dan meningkatkan jumlah instruksi yang dijalankan atau, lebih tepatnya, jumlah instruksi yang diselesaikan selama siklus prosesor. Seperti yang telah kita lihat di bab sebelumnya, desainer telah meningkatkan IPC dengan menggunakan pipa instruksi dan kemudian dengan menggunakan beberapa pipa instruksi paralel dalam arsitektur superscalar. Dengan desain pipa dan multi-pipa, masalah utamanya adalah memaksimalkan pemanfaatan setiap tahap pipeline. Untuk meningkatkan hasil, desainer telah menciptakan mekanisme yang lebih kompleks, seperti mengeksekusi beberapa instruksi dalam urutan yang berbeda dari cara mereka muncul dalam aliran instruksi dan memulai eksekusi instruksi yang mungkin tidak pernah diperlukan. Tetapi seperti yang telah dibahas di Bagian 2.2, pendekatan ini mungkin mencapai batas karena kompleksitas dan masalah konsumsi daya. Pendekatan alternatif, yang memungkinkan tingkat tinggi paralelisme tingkat instruksi tanpa meningkatkan kompleksitas rangkaian atau konsumsi daya, disebut multithreading. Intinya, aliran instruksi dibagi menjadi beberapa aliran yang lebih kecil, yang dikenal sebagai utas, sehingga utas dapat dieksekusi secara paralel. Variasi desain multithreading tertentu, yang direalisasikan dalam sistem komersial dan sistem eksperimental, sangat luas. Pada bagian ini, kami memberikan survei singkat tentang konsep-konsep utama. Multithreading implisit dan eksplisit. Konsep utas yang digunakan dalam membahas prosesor multithread mungkin atau mungkin tidak sama dengan konsep utas perangkat lunak dalam sistem operasi multiprogram. Akan berguna untuk mendefinisikan istilah secara singkat: Proses: Contoh dari program yang berjalan di komputer. Sebuah proses mewujudkan dua karakteristik utama: - Kepemilikan sumber daya: Sebuah proses mencakup ruang alamat virtual untuk menampung gambar proses; image proses adalah kumpulan program, data, stack, dan atribut yang menentukan proses. Dari waktu ke waktu, suatu proses dapat dialokasikan kendali atau kepemilikan sumber daya, seperti memori utama, saluran I / O, perangkat I / O, dan file. - Penjadwalan / eksekusi: Eksekusi suatu proses mengikuti jalur eksekusi (jejak) melalui satu atau lebih program. Eksekusi ini mungkin diselingi dengan proses lainnya. Dengan demikian, proses memiliki status eksekusi (Berjalan, Siap, dll.) Dan prioritas pengiriman dan merupakan entitas yang dijadwalkan dan dikirim oleh sistem operasi. Proses Beralih : Sebuah operasi yang mengalihkan prosesor dari satu proses ke proses lainnya, dengan menyimpan semua data kontrol proses, register, dan informasi lainnya untuk yang pertama dan menggantinya dengan informasi proses untuk yang kedua. 3 Istilah saklar konteks sering ditemukan dalam literatur OS dan buku teks. Sayangnya, meskipun sebagian besar literatur menggunakan istilah ini untuk mengartikan apa yang di sini disebut sakelar proses, sumber lain menggunakannya untuk mengartikan sakelar ulir. Untuk menghindari ambiguitas, istilah tersebut tidak digunakan dalam buku ini. Urutan: Unit kerja yang dapat dikirim dalam suatu proses. Ini mencakup konteks prosesor (yang mencakup penghitung program dan penunjuk tumpukan) dan area datanya sendiri untuk tumpukan (untuk mengaktifkan percabangan subrutin). Sebuah urutan dijalankan secara berurutan dan dapat diinterupsi sehingga prosesor dapat beralih ke urutan lainnya. Beralih ke urutan: Tindakan mengalihkan kontrol prosesor dari satu urutan ke urutan lainnya dalam proses yang sama. Biasanya, jenis sakelar ini jauh lebih murah daripada sakelar proses. Dengan demikian, urutan berkaitan dengan penjadwalan dan eksekusi, sedangkan proses yang bersangkutan dengan penjadwalan / eksekusi dan kepemilikan sumber daya.Beberapa urutan dalam proses berbagi sumber daya yang sama.Inilah sebabnya mengapa beralih urutan jauh lebih sedikit memakan waktu daripada proses beralih.Sistem operasi tradisional, seperti versi unix sebelumnya, tidak mendukung thread.Sebagian besar sistem operasi modern, seperti Linux, versi unix lainnya, dan Windows, melakukan thread dukungan.Perbedaan dibuat antara thread tingkat pengguna, yang terlihat oleh program aplikasi, dan thread tingkat kernel, yang hanya terlihat oleh sistem operasi.Keduanya dapat disebut sebagai thread eksplisit, didefinisikan dalam perangkat lunak. Pendekatan untuk Eksplisit Multithreading Minimal, prosesor multithreaded harus menyediakan penghitung program terpisah untuk setiap urutan eksekusi yang akan dijalankan secara bersamaan.Desain berbeda dalam jumlah dan jenis perangkat keras tambahan yang digunakan untuk mendukung urutan eksekusi bersamaan.Secara umum, pengambilan instruksi dilakukan secara urutan.Prosesor memperlakukan setiap urutan secara terpisah dan dapat menggunakan sejumlah teknik untuk mengoptimalkan Urutan eksekusi tunggal, termasuk prediksi cabang, mendaftar mengganti nama, dan teknik superscalar.Apa yang dicapai adalah paralelisme tingkat urutan, yang dapat memberikan kinerja yang sangat meningkat ketika digabungkan dengan paralelisme tingkat instruksi. Secara garis besar, ada empat pendekatan utama untuk multithreading: Multithreading berselang : Ini juga dikenal sebagai multithreading berbutir halus. Prosesor berurusan dengan dua atau lebih konteks utas sekaligus, beralih dari satu utas ke utas lainnya di setiap siklus jam. Jika utas diblokir karena ketergantungan data atau latensi memori, utas itu dilewati dan utas siap dijalankan. Multithreading yang diblokir: Ini juga dikenal sebagai multithreading berbutir kasar. Urutan intruksi dijalankan secara berturut-turut hingga terjadi peristiwa yang dapat menyebabkan penundaan, seperti cache yang hilang. Peristiwa ini menyebabkan peralihan ke urutan lain. Pendekatan ini efektif pada prosesor berurutan yang akan menghentikan piap untuk peristiwa penundaan seperti cache yang hilang. Multithreading simultan (SMT): Instruksi dikeluarkan secara bersamaan dari beberapa urutan ke unit eksekusi prosesor superscalar. Ini menggabungkan kemampuan masalah instruksi superscalar yang luas dengan penggunaan beberapa konteks utas. Multiprocessing chip: Dalam hal ini, banyak inti diterapkan pada satu chip dan setiap inti menangani urutan terpisah. Keuntungan dari pendekatan ini adalah bahwa area logika yang tersedia pada sebuah chip digunakan secara efektif tanpa bergantung pada kompleksitas yang terus meningkat dalam desain pipa. Sebaliknya, prosesor dapat dengan cepat beralih dari satu urutan ke urutan lainnya, menggunakan kumpulan register dan informasi konteks lain yang berbeda. Ini menghasilkan pemanfaatan yang lebih baik dari sumber daya eksekusi prosesor dan menghindari hukuman yang besar karena pergantian tidak ditemukan dan peristiwa latensi lainnya. Pendekatan SMT melibatkan eksekusi instruksi simultan yang sebenarnya dari utas yang berbeda, menggunakan sumber daya eksekusi yang direplikasi. Multiprocessing chip juga memungkinkan eksekusi instruksi secara bersamaan dari urutan yang berbeda. 5) CLUSTER Perkembangan penting dan relatif baru dalam desain sistem komputer adalah clustering. Clustering adalah alternatif dari multiprocessing simetris sebagai pendekatan untuk menyediakan kinerja tinggi dan ketersediaan tinggi, dan sangat menarik untuk aplikasi server. Kita dapat mendefinisikan cluster sebagai sekelompok komputer yang saling berhubungan dan bekerja bersama sebagai sumber daya komputasi terpadu yang dapat menciptakan ilusi menjadi satu mesin. Istilah seluruh komputer berarti sistem yang dapat berjalan sendiri, terlepas dari cluster; Dalam literatur, setiap komputer dalam cluster biasanya disebut sebagai node. Mencantumkan empat manfaat yang dapat dicapai dengan pengelompokan. Ini juga dapat dianggap sebagai tujuan atau persyaratan desain: Skalabilitas mutlak: Anda dapat membuat cluster besar yang jauh melampaui kekuatan mesin mandiri terbesar sekalipun. Sebuah cluster dapat memiliki puluhan, ratusan, atau bahkan ribuan mesin, yang masing-masing merupakan multiprosesor. Skalabilitas tambahan: Sebuah cluster dikonfigurasi sedemikian rupa sehingga dimungkinkan untuk menambahkan sistem baru ke cluster secara bertahap. Dengan demikian, pengguna dapat memulai dengan sistem sederhana dan mengembangkannya sesuai kebutuhan, tanpa harus melalui peningkatan besar di mana sistem kecil yang ada diganti dengan sistem yang lebih besar. Ketersediaan tinggi: Karena setiap node dalam cluster adalah komputer mandiri, kegagalan satu node tidak berarti hilangnya layanan. Pada banyak produk, toleransi kesalahan ditangani secara otomatis dalam perangkat lunak. Harga / kinerja unggul: Dengan menggunakan blok penyusun komoditas, dimungkinkan untuk menyusun kluster dengan daya komputasi yang sama atau lebih besar daripada satu mesin besar, dengan biaya yang jauh lebih rendah. Metode umum yang lebih lama yang dikenal sebagai siaga pasif, adalah dengan membuat satu komputer menangani semua beban pemrosesan sementara komputer lain tetap tidak aktif, bersiap untuk mengambil alih jika komputer utama gagal. Untuk mengoordinasikan mesin, aktif, atau primer, sistem secara berkala mengirimkan pesan "detak jantung" ke mesin siaga. Jika pesan ini berhenti tiba, standby mengasumsikan bahwa server utama telah gagal dan menjalankannya sendiri. Pendekatan ini meningkatkan ketersediaan tetapi tidak meningkatkan kinerja. Lebih lanjut, jika satu-satunya informasi yang dipertukarkan antara dua sistem adalah pesan detak jantung, dan jika kedua sistem tidak berbagi disk yang sama, maka standby menyediakan cadangan fungsional tetapi tidak memiliki akses ke database yang dikelola oleh primer. Siaga pasif umumnya tidak disebut sebagai cluster. Istilah cluster dicadangkan untuk beberapa komputer yang saling berhubungan yang semuanya aktif melakukan pemrosesan sambil mempertahankan citra satu sistem ke dunia luar. Istilah aktif sekunder sering digunakan untuk merujuk pada konfigurasi ini. Tiga klasifikasi pengelompokan dapat diidentifikasi: server terpisah, tidak berbagi apa-apa, dan memori bersama. 6) NUNIFORM MEMORY ACCESS Dalam hal produk komersial, dua pendekatan umum untuk menyediakan Sistem multi-prosesor untuk mendukung aplikasi adalah SMP dan cluster. Selama beberapa tahun, pendekatan lain, yang dikenal sebagai No uniform memory access (NUMA), telah menjadi subjek penelitian dan Produk NUMA komersial sekarang tersedia. definisi istilah yang sering ditemukan dalam literatur NUMA : Akses memori seragam (UMA) : Semua prosesor memiliki akses ke semua bagian memori utama menggunakan Beban dan penyimpanan. Waktu akses memori prosesor ke semua wilayah memori adalah sama. Tidak ada akses memori seragam (NUMA) : Semua prosesor memiliki akses ke semua bagian dari memori utama Menggunakan beban dan penyimpanan. Waktu akses memori prosesor berbeda-beda, bergantung pada wilayah mana dari memori utama yang diakses. Cache-coherent NUMA (CC-NUMA) : Sistem NUMA di mana koherensi cache dipertahankan Di antara cache dari berbagai prosesor. Sistem NUMA tanpa koherensi cache kurang lebih sama dengan cluster. Produk komersial yang mendapat banyak perhatian baru-baru ini adalah sistem CC-NUMA, yang sangat berbeda dari SMP dan cluster. Biasanya, tapi sayangnya tidak selalu, sistem seperti itu sebenarnya disebut dalam literatur komersial sebagai sistem CC-NUMA. Bagian ini hanya berkaitan dengan Sistem CC-NUMA. Motivasi Dengan sistem SMP, ada batasan praktis untuk jumlah prosesor yang dapat digunakan. Skema cache yang efektif mengurangi lalu lintas bus antara salah satu prosesor dan memori utama. Seiring dengan meningkatnya jumlah prosesor, lalu lintas bus ini juga meningkat. Penurunan kinerja tampaknya membatasi jumlah prosesor dalam Konfigurasi SMP antara 16 dan 64 prosesor. Batasan prosesor di SMP adalah salah satu motivasi pendorong di balik pengembangan Sistem cluster. Perincian memori ini memengaruhi kinerja dan, untuk mencapai kinerja maksimum, perangkat lunak harus Disesuaikan dengan lingkungan ini. Tujuan dengan NUMA adalah untuk mempertahankan memori seluruh sistem yang transparan sambil mengizinkan beberapa node Multiprosesor, masing-masing dengan busnya sendiri atau sistem interkoneksi internal lainnya. Organisasi Gambar 20.12 menggambarkan organisasi CC-NUMA yang khas. Jadi, setiap node berisi banyak prosesor, masing-masing dengan cache L1 dan L2 sendiri, ditambah memori utama. Misalnya, setiap node Silicon Graphics Origin menyertakan dua Prosesor MIPS R10000; setiap node NUMA-Q Sequent mencakup empat prosesor Pentium II. Gambar 20.12 Organisasi CC-NUMA Setiap node dalam sistem CC-NUMA menyertakan beberapa memori utama. Namun, dari sudut pandang Prosesor, hanya ada satu memori yang dapat dialamatkan, dengan setiap lokasi memiliki alamat seluruh Sistem yang unik. Jika jalur yang diinginkan ada di Bagian lokal dari memori utama, jalur tersebut diambil melintasi bus lokal. Dalam konfigurasi ini, koherensi cache menjadi perhatian utama. contoh yang diambil dari [PFIS98]. Misalkan prosesor 3 pada node 2 (P2-3) meminta lokasi memori 798, yang ada di memori node 1. Urutan berikut Terjadi : 1. P2-3 mengeluarkan permintaan baca pada bus snoopy node 2 untuk lokasi 798. 2. Direktori pada node 2 melihat permintaan tersebut dan mengenali bahwa lokasinya ada di node 1. 3. Direktori node 2 mengirimkan permintaan ke node 1, yang diambil oleh direktori node 1. 4. Direktori node 1, yang bertindak sebagai pengganti P2-3, meminta isi 798, seolah-olah itu adalah Prosesor. 5. Memori utama node 1 merespons dengan meletakkan data yang diminta di bus. 6. Direktori node 1 mengambil data dari bus. 7. Nilai tersebut ditransfer kembali ke direktori node 2. 8. Direktori node 2 menempatkan data kembali pada bus node 2, bertindak sebagai pengganti memori Yang awalnya menahannya. 9. Nilai diambil dan ditempatkan di cache P2-3 dan dikirim ke P2-3. Urutan sebelumnya menjelaskan bagaimana data dibaca dari memori jarak jauh menggunakan Mekanisme perangkat keras yang membuat transaksi transparan ke prosesor. Kami hanya membuat sedikit pernyataan umum di sini. Pertama, sebagai bagian dari urutan sebelumnya, Direktori node 1 menyimpan catatan bahwa beberapa cache jarak jauh memiliki salinan baris yang berisi lokasi 798. Misalnya, jika modifikasi Selesai di cache, fakta ini dapat disiarkan ke node lain. Setiap direktori node yang menerima Siaran seperti itu kemudian dapat menentukan apakah ada cache lokal yang memiliki baris itu dan, jika demikian, menyebabkannya dibersihkan. NUMA Pro dan Kontra Keuntungan utama dari sistem CC-NUMA adalah dapat memberikan kinerja yang efektif pada tingkat paralelisme yang lebih tinggi daripada SMP, tanpa memerlukan perubahan perangkat lunak yang besar. Dengan beberapa node NUMA, lalu lintas Bus pada setiap node terbatas pada permintaan yang dapat ditangani bus. Namun, jika banyak dari akses memori ke node jauh, kinerja mulai rusak. Ada alasan untuk percaya bahwa kerusakan kinerja ini dapat dihindari. Pertama, penggunaan cache L1 dan L2 dirancang untuk meminimalkan semua akses memori, termasuk yang jarak jauh. Jika banyak perangkat lunak memiliki lokalitas Temporal yang baik, maka akses memori jarak jauh tidak boleh berlebihan. Kedua, jika perangkat lunak memiliki lokalitas spasial yang baik, dan jika memori virtual digunakan, kemudian data yang diperlukan untuk aplikasi akan berada di halaman yang sering digunakan dalam jumlah terbatas yang awalnya dapat dimuat ke dalam memori lokal ke aplikasi yang sedang berjalan. Para desainer Sequent melaporkan bahwa lokasi spasial seperti itu memang muncul dalam aplikasi Representatif.