IBM BLU Acceleration - IBM BLU Acceleration

IBM BLU Acceleration dan texnologiyalar to'plamidir IBM tadqiqotlari va tahlil laboratoriyalari ma'lumotlar bazasi ish yuklari. BLU Acceleration bir qator turli xil texnologiyalarni o'z ichiga oladi xotirada qayta ishlash ustunli ma'lumotlar, Amalga oshiriladigan siqish (foydalanadi taxminiy Huffman kodlashi ma'lumotlarni mahkam siqish va to'plash uchun), protsessor tezlashishi (foydalanadigan) SIMD texnologiya va ta'minlaydi parallel vektor qayta ishlash) va Ma'lumotlarni o'tkazib yuborish (bu hozirgi faol ish hajmiga hech qanday foydasi yo'q ma'lumotlarni e'tiborsiz qoldirishga imkon beradi).[1] "BLU" atamasi, ayniqsa, hech narsani anglatmaydi; ammo u IBMning an'anaviy korporativ laqabi Big Blue-da bilvosita o'ynaydi. (Dunyo bo'ylab o'nta IBM tadqiqot va ishlab chiqarish ob'ekti Blink Ultra loyihasida ishlayotganda 25 dan ortiq patentni taqdim etdi, natijada BLU Acceleration ta'minlandi.)[2]BLU tezlashishi talab qilinmaydi indekslar, agregatlar yoki sozlash. BLU Acceleration Linux, Unix va Windows uchun IBM DB2 ning 10.5-versiyasiga (LUW uchun DB2) kiritilgan[3]) va bir xil saqlash va xotira tuzilmalaridan foydalanadi (ya'ni, saqlash guruhlari, jadval bo'shliqlari va bufer hovuzlari), SQL LUW ma'lumotlar bazalari uchun an'anaviy DB2 sifatida til interfeyslari va boshqaruv vositalari.[4] BLU Acceleration ikkalasida ham mavjud IBM POWER va x86 protsessor me'morchiligi.[5]

Tarix

BLU Acceleration - bu Blink loyihasida paydo bo'lgan texnologiyaning ikkinchi avlodi IBM Almaden tadqiqot markazi 2006 yilda birinchi navbatda "asosan o'qish uchun" mo'ljallangan. biznes razvedkasi (BI) so'rovlarni qayta ishlash, Blink o'lchovni birlashtirdi ko'p yadroli bilan protsessorlar dinamik tezkor kirish xotirasi (DRAM) data mart nusxasini xotirada to'liq saqlash. Bundan tashqari, SQL so'rovlarining ko'pini to'g'ridan-to'g'ri siqilgan ma'lumotlarga nisbatan amalga oshirishga imkon beradigan xususiy siqish texnikasi va algoritmlaridan foydalanilgan (ishlov berish jarayoni sodir bo'lishidan oldin ma'lumotlarni dekompressiya qilishni talab qilishdan farqli o'laroq).[6]Oxir oqibat Blink ikkita IBM mahsulotiga qo'shildi: DB2 uchun IBM Smart Analytics Optimizer z / OS (DB2 ning asosiy versiyasi), 2010 yil noyabr oyida chiqarilgan va Informiks 2011 yil mart oyida chiqarilgan omborlar tezlatgichi.

BLU Acceleration RAM-dan ma'lumotlarga kirish uchun optimallashtirilgan. Ammo ma'lumotlar hajmi RAMga mos kelmaydigan darajada o'ssa ham, oraliq natijalar diskka tushishi mumkin.[1] BLU Acceleration DB2 mahsulotlarini ishlab chiqish, IBM tizimlarini optimallashtirish bo'yicha vakolatli markaz va IBM tadqiqotlari hamkorligi orqali takomillashtirildi va DB2 bilan birlashtirildi - bu hamkorlik quyidagi natijalarga erishdi: ustunli ishlov berish, kengroq SQL-quvvatlash, I / O va Markaziy protsessor samaradorlik va DB2 SQL kompilyatori, so'rovlar optimallashtiruvchisi va saqlash qatlam.[7]

Texnik ma'lumotlar

BLU Acceleration dizaynining bir qismi bo'lgan to'rtta asosiy yutuqlar mavjud. Ular:

  1. Xotiradagi ishlash faqat RAMga mos keladigan ma'lumotlar bilan cheklanmaydi
  2. Amalga oshiriladigan siqish
  3. Ma'lumotlarni o'tkazib yuborish
  4. CPU tezlashishi

Xotiradagi ishlash faqat RAMga mos keladigan ma'lumotlar bilan cheklanmaydi

BLU Acceleration RAM-dan ma'lumotlarga kirish uchun optimallashtirilgan. Ammo ma'lumotlar hajmi RAMga mos kelmaydigan darajada o'ssa ham, oraliq natijalar diskka tushishi mumkin.

Amalga oshiriladigan siqish

Buyurtmani saqlaydigan, chastotaga asoslangan siqishni (shunday deb ataladi) ishlaydigan siqishni) BLU-da tezlashtirish turli xil taqqoslash operatsiyalarini dekompressiyasiz va samarali foydalanish bilan amalga oshirishga imkon beradi CPU xotirasi (kesh) va registrlar. Amalga oshiriladigan siqish bilan tez-tez ko'rinadigan qiymatlar kamroq paydo bo'ladigan qiymatlarga qaraganda yuqori darajada siqiladi. (Amalga oshiriladigan kompressiya ma'lumotlar bazasini yo'qotish uchun kompressiyani kodlash algoritmidan foydalanadi. Devid A. Xuffman MIT da talaba bo'lgan paytida ishlab chiqqan. Uning asosi sifatida.),[4][8] Ofset kodlash BLU Acceleration-da ishlatiladigan siqishni optimallashtirishning yana bir texnikasi. Ofset kodlash raqamli ma'lumotlar bilan juda foydali; masalan, 100, 101, 102 va 103 qiymatlarini siqishga urinish o'rniga, DB2 bitta qiymatni (100) saqlaydi va shu qiymatga (1, 2, 3 va boshqalar) tenglashadi. Bu DB2 indeks yozuvlarini identifikatorlarini (RID) siqishni usuliga juda o'xshaydi - DB2 indekslarga dinamik qo'llanilishi mumkin bo'lgan uchta avtonom indeksni siqish algoritmlaridan biri.[4]

BLU Acceleration yordamida qiymatlar shunday tartibda saqlanib turadiki, ularni siqish paytida bir-biri bilan taqqoslash mumkin degan ma'noni anglatadi. SQL oldindan belgilanadi ma'lumotlarni dekompressiyalashga hojat qoldirmasdan kodlangan qiymatlar bo'yicha bajarish, shu bilan baholashni tezlashtirish, xotira talablarini kamaytirish va ish vaqtida so'rovlar uchun ishlov berish ehtiyojlarini kamaytirish.[1][5]

Kodlanganidan so'ng, ma'lumotlar ishlatilayotgan server protsessorining registri kengligiga teng keladigan bitlar to'plamiga iloji boricha zichroq joylashtiriladi. Buning natijasida I / Os kamroq bo'ladi (chunki ma'lumotlar kichikroq), xotiradan yaxshiroq foydalanish (chunki ko'proq ma'lumot xotirada saqlanishi mumkin) va protsessor tsikllari kamroq (chunki ma'lumotlar "registrga moslashtirilgan").[4]

Ma'lumotlarni o'tkazib yuborish

Ma'lumotlarni o'tkazib yuborish DB2-ga so'rovni qondirish uchun kerak bo'lmagan ustun qiymatlari oralig'ini aniqlashga va diskda ushbu qiymatlarni o'z ichiga olgan sahifalarni o'qishdan qochishga imkon beradi. Ma'lumotlarni o'tkazib yuborish a deb nomlangan ikkinchi darajali ob'ektdan foydalanadi konspekt jadvali, bu avtomatik ravishda yaratilgan va saqlanadigan kichik, ustunlar tomonidan tashkil etilgan jadval.[4] BLU tezlashishi davom etmoqda metadata ushbu jadvaldagi ma'lumotlarning "bo'laklari" (1000 ga yaqin yozuvlar) bo'yicha ma'lumotlar qiymatlarining minimal va maksimal oralig'ini tavsiflovchi. Ushbu metadata operatsiyalarni kiritish, yangilash va o'chirish paytida avtomatik ravishda saqlanib qoladi va shu bilan DB2-ga BLU Acceleration yordamida so'rovlarni qayta ishlash jarayonida kerak bo'lmagan katta hajmdagi ma'lumotlarni avtomatik ravishda aniqlash va ularni e'tiborsiz qoldirish imkonini beradi.[4]

Kontseptual ravishda, BLU Acceleration ma'lumotlarini o'tkazib yuborish Analytics oilasi uchun PureData tizimida joylashgan Zone Map texnologiyasiga o'xshaydi. Biroq, Zone Maps-dan farqli o'laroq, konspektlar jadvalida saqlangan metama'lumotlar har qanday ma'lum bir sahifaga yoki chegaralar chegarasiga bog'lanmagan, aksincha ma'lumotlar yozuvlarining ma'lum bir "bo'lagiga" bog'langan. Ma'lumotlarni o'tkazib yuborish hisoblash resurslari (CPU, Ram va I / O).[4]

CPU tezlashishi

BLU Acceleration, agar ishlatilayotgan apparatda mavjud bo'lsa, bitta buyruqni bir nechta ma'lumotni (SIMD) qayta ishlashdan foydalanadi. Juda past darajadagi maxsus protsessor ko'rsatmalari bo'lgan SIMD ko'rsatmalaridan foydalanib, BLU Acceleration bir vaqtning o'zida bir nechta ma'lumot nuqtalarida bir xil operatsiyani bajarishi mumkin.[4] Binobarin, BLU Acceleration-ga ega DB2 bir nechta ma'lumotlar elementlaridan natijalar olish uchun bitta SIMD yo'riqnomasidan foydalanishi mumkin (masalan, tenglik predikatlarini qayta ishlashni amalga oshirish uchun) - agar ular bitta registrda bo'lsa. DB2 shuningdek 128 bitni SIMD registrga kiritishi va bitta ko'rsatma bilan ushbu ma'lumotlarni baholashi mumkin.[4]

Amalga oshirilgan ishlash darajasi, oxir-oqibat, BLU Acceleration-ning ishlashi kerak bo'lgan apparat resurslari bilan belgilanadi.[4] Ya'ni, server SIMD-ni yoqmasa ham, BLU Acceleration SIMD-ning ba'zi afzalliklarini taqdim etish uchun SMID dasturiy ta'minot bilan (ba'zi bir parallellikka erishish uchun bitmasking yordamida) SIMD apparatini taqlid qilishi mumkin.[4]

Bundan tashqari, BLU Acceleration loyihalashtirilgan bo'lib, xotiraga kirishning katta qismi protsessor keshida bo'ladi va ma'lumotlardan kirish orqali emas. Ram qayta-qayta.[4] RAM-da emas, balki faqat protsessor keshidagi ma'lumotlar ustida ishlash orqali BLU Acceleration kechikishni minimallashtiradi va protsessorlarni band qilib qo'yishga qodir.[4]

Xotira tezligidagi xotiradan sezilarli darajada katta bo'lgan ma'lumotlarni qayta ishlashga mo'ljallangan BLU Acceleration oldindan yuklaydi va ma'lumotlarni qayta ishlash dvigateliga uzatadi - bu tizim xotirasidan tashqari protsessor ichidagi xotirani optimallashtirishga imkon beradi.[5] RAMga qanday ma'lumotlarni yuklash kerakligini oldindan bir necha millisekundalarni aniqlash uchun maxsus xotirada optimallashtirilgan ustunli oldindan olish algoritmidan foydalaniladi; har bir algoritm operativ xotiraga kirishni minimallashtirish va L3 va L2 keshlarida ishlash vaqtini maksimal darajada oshirish uchun ishlab chiqilgan bo'lib, ular operativ xotiradan tezroq tartibda.,[9][10]

Adabiyotlar

  1. ^ a b v Raman, Attaluri, Sartarosh, Chainani va boshqalar. (2013 yil avgust) "BLB tezlanishiga ega DB2: shunchaki ustunli do'kondan ko'proq narsa", VLDB xayriya ishlari, 6-jild, 11-son, 1080-1091-betlar. 2014 yil 1 fevralda olingan
  2. ^ "IBM BLU Acceleration analitikani dinamik xotirada hisoblash bilan tezlashtiradi" 2014 yil 1 fevralda olingan.
  3. ^ Linux, UNIX va Windows uchun DB2
  4. ^ a b v d e f g h men j k l m Zikopoulos, Lightstone, Huras, Sachedina, Baklarz. "BLB tezlashuvi bilan DB2 10.5: Katta ma'lumotlar davri uchun yangi dinamik xotirada tahlil qilish" Arxivlandi 2013-12-29 da Orqaga qaytish mashinasi, McGraw-Hill Ta'lim. ISBN  9780071823494. 2014 yil 1 fevralda olingan.
  5. ^ a b v "BLU tezlashuvi o'yinni o'zgartiradi", IBM dasturiy ta'minoti (2013 yil iyul). 2014 yil 1 fevralda olingan.
  6. ^ Lightstone, Lohman, Schiefer. (2013 yil aprel) "Super Analytics, Super Easy. IBM DB2 10.5-ni BLU Acceleration bilan taqdim etamiz" Arxivlandi 2014-03-04 da Arxiv.bugun, IBM Data Magazine. 2014 yil 1 fevralda olingan.
  7. ^ Zikopulos, Vinsent. (2013 yil avgust) "Mutaxassislardan so'rang: BLB tezlashuvi bilan DB2 10.5". 2014 yil 1 fevralda olingan.
  8. ^ Huffman, David A. (1952 yil sentyabr) "Minimal-shtrix kodlarini yaratish usuli" '. 2014 yil 6-fevralda olingan.
  9. ^ Yengil tosh, Sem. "Operativ xotira juda sekin bo'lganida: xotirada qanday dinamik ishlov berish Analytics uchun o'yinni o'zgartiradi". SoftwareTradecraft.com. 2014 yil 1 fevralda olingan
  10. ^ Xovard, Filipp. (2013 yil dekabr) "Xotirada? Kecha shunday bo'ldi!", IT Analysis.com. 2014 yil 1 fevralda olingan

Tashqi havolalar