áááºá¹ááá¬áá« Habrá Big Data ááŸáá·áº machine learning á¡ááœáẠáá±áá¬á¡á
á¯á¶áá»á¬ážááẠá¡áááááºááŒá®ážááœá¬ážáá¬áᬠáááºážááá¯á·ááŸáá·áºááá¯ááºáá»á±á¬áá®ááœá±ááŸáááẠááá¯á¡ááºáá«áááºá Kingston booth ááœáẠááŒááá¬ážáá±á¬ á
áœááºážáá±á¬ááºáááºááŒáá·áº ááœááºáá»á°áᬠ(HPCá High Performance Computing) áááºáááºááœáẠá¡ááŒá¬ážáá±á¬ áááºážáá
áºáá®ááœááºáááºážááá¬áá»á¬ážá¡ááŒá±á¬ááºáž áá»áœááºá¯ááºááá¯á·á ááá¯á·á
áºá
GPU á áœááºážáá±á¬ááºáááºááẠáá±áá¬áááºááŒááºážááẠáá¬ááœááºáááºá
áá±áá°áá»áááºááœááºáá»ááºá¡ááá®áá±ážááŸááºážáá»á¬ážáááºáá®ážáááºá¡ááœáẠGPU-based hardware ááŸáá·áº software parallel computing architecture CUDA ááᯠ2007 áá¯ááŸá áºááœáẠáááºáá®ážáá²á·ááŒá®ážááŒá áºáá±á¬ááŒá±á¬áá·áº GPUs áá»á¬ážá hardware á áœááºážáááºáá»á¬ážááẠááá¯á¶ááá¯ááºáá±á¬ááºá¡á±á¬áẠááŒá®ážááœá¬ážáá¬áá«áááºá ááá±á·ááœááºá GPU áá»á¬ážááᯠBig Dataá machine learning (ML) ááŸáá·áº deep learning (DL) áá²á·ááá¯á·áá±á¬ HPC á¡ááá®áá±ážááŸááºážáá»á¬ážááœáẠááá¯ááá¯á¡áá¯á¶ážááŒá¯áá¬ááŒáááºá
áá±á«áá¬ááá»á¬áž áá°áá®áá±áá±á¬áºáááºáž áá±á¬ááºáá¯á¶ážááŸá áºáá¯ááẠá¡ááºááºááá¯áá®áááºá¡á ááœá²ááŒá¬ážáá±á¬ áá¯ááºáá±á¬ááºáá»ááºáá»á¬ážááᯠáááááŒá¯áá«á ML ááẠááœááºááŒá°áá¬á¡á¬áž ááœá²á·á ááºážáááºáá±á¬ááºáá¬ážááá·áº á¡áá»ááºá¡áááºáá±á«áºá¡ááŒá±áá¶á áá±á·áá»áá·áºáá±ážáᬠDL ááẠá¡á¬áá¯á¶ááŒá±á¬ááœááºáááºá០áá¯á¶á·ááŒááºáá»ááºáá»á¬ážááᯠá¡ááŒá±áá¶á ááœááºáá»á°áá¬ááᯠáá±á·áá»áá·áºáá±ážáááºá ááœá²ááŒá¬ážááŸá¯áá»á¬ážááᯠáá¬ážáááºááẠá¥ááá¬áá áºáá¯ááẠááá¯ážááŸááºážáá«áááºá ááœááºáá»á°áá¬ááẠááá¯ááŸá±á¬ááºááŸá¯á áá áºá០áááºáá±á¬ááºáá¬áá±á¬ ááŒá±á¬ááºáá»á¬ážááŸáá·áº ááœá±ážáá»á¬ážá áá¬ááºáá¯á¶áá»á¬ážááᯠááá¯ááºážááŒá¬ážááá¯ááºáááºáᯠáá°áááŒáá«á áá¯á·á ML á¡ááœááºá áááºááẠááááá á¹áá¬ááºá áá®ážááŒá¬ážá¡ááºá¹áá«áááºáá áºáá¯á á®ááᯠáááºááŸááºáá±ážááá·áº áááºáá»á¬ážá áœá¬áá«áá±á¬ áá¯á¶á¡á á¯á¶ááᯠáááºááŒááá·áºáááºá DL á¡ááœááºá áá»á¬ážá áœá¬áá±á¬ áá¯á¶áá»á¬ážá áœá¬ááᯠá¡ááºáá¯ááºáá¯ááºááẠáá¯á¶áá±á¬ááºáááºá ááá¯á·áá±á¬áº "áá«á ááŒá±á¬ááº" ááá¯á·ááá¯áẠ"áá«á ááœá±ážááŒá áºáááº" áááºáá áºáá¯ááŒáá·áºáá¬á DL ááẠááá±ážáá»á¬ážá¡á¬áž áááºááŒá¬ážáá¯á¶ááŸáá·áº á¡ááœááºáááºáá°ááẠ- áááºážááá¯á·ááẠá á¬á¡á¯ááºáá»á¬ážááœáẠááœá±ážááŸáá·áºááŒá±á¬ááºáá¯á¶áá»á¬ážááᯠááá¯ážááá¯ážááŸááºážááŸááºážááŒááá¬ážááŒá®áž ááááœáẠ(á¡áá±ážá áááºááœá²ááŒá¬ážááŸá¯ááᯠááŸááºážááŒááŒááºážáááºáááŒá¯áá²) ááŸáá·áº ááá±ážááŠážááŸá±á¬ááºááá¯ááºááá¯ááºá áá±á¬ááºááá¯ááºážááœáẠáááá á¹áá¬ááºá¡áá»áá¯ážá¡á á¬ážááᯠá áááºáá¯á¶ážááŒááºáááºá ááŸáá¯ááºážááŸááºáááºá¡ááœáẠá¡áá±ážááŒá®ážáá±á¬ áá¯á¶á¡áá±á¡ááœááºá¡áá»áá¯á· (ááá·áºááŸááºážáá»ááºáá»á¬ážá¡áá áá»áœááºá¯ááºááá¯á·ááẠáááºááœááºá áẠááá±ážáááá áºáá»áŸá±á¬ááºááŸáá¯ážáá±á«ááºáž áá áºáᬠááá¯á·ááá¯áẠááŸá áºáá¯á¶ááá·áºáᬠá áá¬ážááŒá±á¬áááº)á DL á¡ááºáááá¯áá®áááºáá»á¬ážááẠááŒá®ážááŒáá·áºá á¯á¶ááŸá¯áááŸááá±ážáá«- á¡á¬áá¯á¶ááŒá±á¬ááœááºáááºáá áºáá¯ááẠáá¯ááºáá¯á¶áá»á¬ážááᯠááœá²ááŒá¬ážáááºááŸááºáá¬ááœááºáááºáž á¡á±á¬ááºááŒááºá áœá¬áá¯ááºáá±á¬ááºááá¯ááºá á±áááºá¡ááœááºá áá¯ááºáá¯á¶áááºážáá±á«ááºážáá»á¬ážá áœá¬ááᯠGPU áá²ááá¯á· áá»áœá±ážááœá±ážááŒá®áž áá¯ááºáá±á¬ááºááẠááá¯á¡ááºáá«áááºá
áááá«ááºážá á¡áá»ááºážáá»á¯ááº- GPU áá»á¬ážááᯠá¡ááŒá±áá¶á Big Dataá ML ááŸáá·áº DL áááºáááºááœáẠHPC á¡ááá®áá±ážááŸááºážáá»á¬ážááᯠáááºáááºáá±á¬ááºááá¯ááºáááºá ááá¯á·áá±á¬áº ááŒá¿áá¬áá áºáá¯ááŸáááẠ- áá±áá¬á¡á á¯á¶áá»á¬ážááẠá¡ááœááºááŒá®ážáá¬ážáá±á¬ááŒá±á¬áá·áº ááá¯ááŸá±á¬ááºááŸá¯á áá áºá០áá±áá¬ááᯠGPU ááá¯á· áááºááá·áºá¡áá»áááºáá¯ááºáá¯á¶ážáá»áááºá á¡ááá®áá±ážááŸááºážá á¡áá¯á¶ážá á¯á¶á áœááºážáá±á¬ááºáááºááᯠáá»áŸá±á¬á·áá»ááẠá áááºáááºá áá áºáááºážááá¯ááá±á¬áºá á¡ááŒá¬ážá áá áºááœá²áá»á¬ážááŸáá¬áá±á¬ ááŸá±ážááœá±ážáá±á¬ I/O áá±áá¬ááŒá±á¬áá·áº á¡ááŒáẠGPU áá»á¬ážááᯠá¡áá¯á¶ážáááŒá¯ááá¯ááºáá«á GPU á I/O á¡ááŒááºááŸá¯ááºážááŸáá·áº CPU/storage á áá áºáá®ááá¯á· bus á ááœá¬ááŒá¬ážáá»ááºááŸá¬ ááŒááºážá¡á¬ážáá áºáá¯ááŒá áºáááºá
GPUDirect Storage áááºážááá¬á áááºááá¯á¡áá¯ááºáá¯ááºááá²á
I/O áá¯ááºáááºážá ááºááᯠCPU á០ááááºážáá»á¯ááºáá¬ážááŒá®áž áá±á¬ááºáááºáá¯ááºáá±á¬ááºáááºá¡ááœáẠááá¯ááŸá±á¬ááºááŸá¯á០GPU áá»á¬ážááá¯á· áá±áá¬áá»á¬ážáááºáá±á¬ááºááá·áº áá¯ááºáááºážá ááºááŒá áºáááºá áááºážááŒá±á¬áá·áº áá áºáŠážááŸáá·áºáá áºáŠáž áá»ááºááŒááºá áœá¬ áááºááœááºááá¯ááºááẠGPU ááŸáá·áº NVMe drives áá»á¬ážááŒá¬áž ááá¯ááºááá¯ááºáááºáá±á¬ááºááœáá·áºááᯠáá¶á·ááá¯ážáá±ážááá·áº áááºážááá¬áá±á¬ááºážááá¯ááŸá¯ááᯠááŒá áºáá±á«áºá á±áá²á·áááºá NVIDIA ááẠááá¯ááá¯á·áá±á¬áááºážááá¬ááᯠááááá¯á¶ážáááºážááŸááºážáá²á·ááŒá®áž áááºážááᯠGPUDirect Storage áá¯áá±á«áºáááºá á¡ááŸááºááŸá¬á áááºážááẠáááºážááá¯á·ááááºá áá¯ááºáá¯ááºáá²á·áá±á¬ GPUDirect RDMA (Remote Direct Memory Address) áááºážááá¬á ááŒá±á¬ááºážáá²ááŸá¯áá áºáá¯ááŒá áºáááºá
NVIDIA á CEO Jensen Huang ááẠGPUDirect Storage ááᯠSC-19 ááœáẠGPUDirect RDMA á áá°ááœá²áá
áºáá¯á¡ááŒá
ẠáááºááŒáá«áááºá á¡áááºážá¡ááŒá
áº- NVIDIA
GPUDirect RDMA ááŸáá·áº GPUDirect Storage á¡ááŒá¬áž ááŒá¬ážáá¬ážáá»ááºááŸá¬ ááááºá á¬ááᯠáá¯ááºáá±á¬ááºááá·áº á ááºáá»á¬ážááŒá¬ážááœáẠááŒá áºáááºá GPUDirect RDMA áááºážááá¬ááẠfront-end network interface card (NIC) ááŸáá·áº GPU memory á¡ááŒá¬áž áá±áá¬ááᯠááá¯ááºááá¯ááºááœáŸá±á·ááẠááŒááºáááºá¡áá¯á¶ážááŒá¯áá¬ážááŒá®áž GPUDirect Storage ááẠNVMe ááá¯á·ááá¯áẠNVMe over Fabric (NVMe-oF) áá²á·ááá¯á· áá±áááá¯ááºáᬠááá¯á·ááá¯áẠá¡áá±ážááááºážááááºážáááºážááŸá¯ááŒá¬áž ááá¯ááºááá¯ááºáá±áá¬áááºážááŒá±á¬ááºážááᯠáá¶á·ááá¯ážáá±ážáá«áááºá GPU áááºááá¯áá®á
GPUDirect RDMA ááŸáá·áº GPUDirect Storage ááŸá áºáá¯áá¯á¶ážááẠCPU memory á¡ááœááºážááŸá ááŒá¬ážáá¶áá áºáá¯ááŸáá áºááá·áº áááá¯á¡ááºáá±á¬áá±áá¬ááŸá¯ááºááŸá¬ážááŸá¯áá»á¬ážááᯠááŸá±á¬ááºááŒááºááŒá®áž ááœááºáááºááẠááá¯á·ááá¯áẠááá¯ááŸá±á¬ááºááŸá¯ááŸáá±áá¬áá»á¬ážááᯠáááᯠCPU áá±á«áºááœáẠáááºá áá¬áááá¯áá² ááá¯ááºááá¯ááºááŸááºáá¬ááºáááºáá±á¬ááºááœáá·áº (DMA) ááá¹ááá¬ážá¡á¬áž ááœáá·áºááŒá¯áá«áááºá GPUDirect Storage á¡ááœááºá ááá¯ááŸá±á¬ááºááŸá¯áááºáá±áá¬ááẠá¡áá±ážáááŒá®ážáá«- áááºážááẠGPU áá°áá áºá¡ááœááºážááŸá NVME áá áºááºá ááááºááááºážá¡ááœááºáž ááá¯á·ááá¯áẠNVMe-oF á¡ááŒá Ạááœááºáááºáá±á«áºááœáẠáá»áááºáááºáá¬ážááá¯ááºáááºá
GPUDirect Storage á áááºáááºááŸá¯áá¯á¶á
á¶á á¡áááºážá¡ááŒá
áº- NVIDIA
NVMe ááŸá Hi-End ááá¯ááŸá±á¬ááºááŸá¯á áá áºáá»á¬ážááẠHPC á¡ááá®áá±ážááŸááºážáá±ážááœááºááœáẠáááºááá¯á¡á¬ážááŸááá±áááºá
GPUDirect Storage ááœááºážáá¬ážáá¬áááºááŸáá·áºá¡áá»áŸá áá¯á¶ážá
áœá²áá°ááŒá®ážáá»á¬ážá á
áááºáááºá
á¬ážááŸá¯ááẠGPU áááŒááºáááºážááŸá¯ááŸá¯ááºážááŸáá·áºááá¯ááºáá®áá±á¬ I/O á¡ááŒááºááŸá¯ááºážáá»á¬ážááŒáá·áº ááá¯ááŸá±á¬ááºááŸá¯á
áá
áºáá»á¬ážááᯠáá±ážáá±á¬ááºááẠá
áááºáááºá
á¬ážáá¬áááºááŒá
áºááŒá±á¬ááºáž SC-19 ááŒááœá²ááœáẠKingston á SC-10 ááŒááœá²ááœáẠKingston á០á
áá
áºáá
áºáá¯áááá¯ááºááŒááŒááá²á·áááºá NVMe áá
áºááºáá»á¬ážááŸáá·áº GPU áá«ááŸááá±á¬ áá°áá
áºááᯠá¡ááŒá±áá¶ááá·áº ááá¯ááŸá±á¬ááºááŸá¯á
áá
áºááẠáá
áºá
áá¹ááá·áºáá»áŸáẠááŒáá¯ááºáá¯áá¯á¶ááááºáá±á¬ááºáá±á«ááºážáá»á¬ážá
áœá¬ááᯠááá¯ááºážááŒá¬ážá
áááºááŒá¬áááºá DC1000M U.2 NVMe drives XNUMX áá¯ááᯠá¡ááŒá±áá¶á ááá¯ááá¯á·áá±á¬ ááá¯ááŸá±á¬ááºááŸá¯á
áá
áºá¡ááŒá±á¬ááºáž áá»áœááºá¯ááºááá¯á· áá±ážáá¬ážáá¬ážááŒá®ážááŒá
áºáááºá
10 DC1000M U.2 NVMe áá±á«áºá¡ááŒá±áá¶áá¬ážáá±á¬ ááá¯ááŸá±á¬ááºááŸá¯á
áá
áºááẠáá¬áá¬áá
áºáá¯á¡á¬áž ááááºáá
áºá¡ááŸáááºááŒáŸáá·áºáááááá¬áá»á¬ážááŒáá·áº áá¯á¶áá±á¬ááºá
áœá¬ááŒáá·áºá
áœááºáá±ážáá«áááºá á¡áááºážá¡ááŒá
áº- Kingston
á€ááá¯ááŸá±á¬ááºááŸá¯á áá áºááᯠ1U ááá¯á·ááá¯áẠááá¯ááŒá®ážáá±á¬ rack áá°áá áºá¡ááŒá Ạáá®ááá¯ááºážáá¯ááºáá¬ážááŒá®áž áá áºáá¯á á®ááẠ1000-2 TB ááŸááá±á¬ DC3.84M U.7.68 NVMe áááá¯ááºáá»á¬ážá á¡áá±á¡ááœááºáá±á«áºáá°áááºá á¡ááá¯ááºážá¡áá¬ááŒáá·áº áá»áááºááŸáááá¯ááºáááºá DC1000M ááẠKingston ááá±áá¬á ááºáá¬áááá¯ááºááºáá»á¬ážááœáẠU.2 áá±á¬ááºáá¯á¶á á¶á¡áá»ááºááœáẠááááá¯á¶áž NVMe SSD áá±á¬áºáááºááŒá áºáááºá áááºážááœáẠáá¶ááá¯ááºáááºá¡ááá·áºáááºááŸááºáá»áẠ(DWPDá Drive ááẠáá áºáááºáá»áŸáẠáá±ážáááº) áá«ááŸáááŒá®áž áááºážááẠdrive á á¡á¬ááá¶áááºáááºážá¡ááœáẠáá áºáá±á·áá»áŸáẠáá áºááŒááẠáá±áá¬ááᯠáááºážáá áœááºážáááºá¡ááŒáá·áºááŒáá·áº ááŒááºáááºáá±ážáá¬ážááá¯ááºá á±áááºááŒá áºáááºá
Ubuntu 3.13 LTS áááºáááºááŸá¯á áá áºá Linux kernel 18.04.3-5.0.0-generic ááŸá fio v31 á ááºážáááºááŸá¯ááœááºá ááŒááœá²ááá¯ááŸá±á¬ááºááŸá¯ááá°áá¬ááœáẠ5.8 áá®áá®áᶠIOPS á áááºááŸá¯ááŸá¯ááºáž (Sustained Read) ááᯠááŒááá²á·ááẠ) 23.8 Gbit/s á
Kingston á០SSD áá¯ááºáááºážáááºáá±áá»á¬ Ariel Perez á ááá¯ááŸá±á¬ááºááŸá¯á áá áºá¡áá áºááŸáá·áºáááºáááºá âáá»áœááºá¯ááºááá¯á·ááẠá¡á ááºá¡áá¬ááá¯ááŸá±á¬ááºááŸá¯ááŸáá·áº áááºááœáŸááºáá±ááá·áº áá±áá¬ááœáŸá²ááŒá±á¬ááºážááŸá¯ááá¯ááºáᬠááááºááá¯á·ááŸá¯áá»á¬ážá áœá¬ááᯠáááºááŸá¬ážááẠU.2 NVMe SSD ááŒá±ááŸááºážáá»ááºáá»á¬ážááŸáá·áº áá»áá¯ážáááºáá áºáá¬áá¬áá»á¬ážááᯠáááºáááºááẠáá»áœááºá¯ááºááá¯á· á¡ááá·áºááŸááá±áá«áááºá NVMe SSD áááá¯ááºáá»á¬ážááŸáá·áº áá»áœááºá¯ááºááá¯á·á ááá®áá®áá¶áá¬áᬠPremier DRAM áá±á«ááºážá ááºááŸá¯ááẠKingston ááẠá ááºááŸá¯áá¯ááºáááºážá á¡ááŒáá·áºá á¯á¶áá¯á¶áž á¡áá¯á¶ážááŸá¡áá¯á¶áž áá±áá¬ááŒá±ááŸááºážáá»ááºáá±ážáá°áá»á¬ážáá²á០áá áºáá¯ááŒá áºáá¬á á±áááºá"
gfio v3.13 á
ááºážáááºááŸá¯ááœáẠDC23.8M U.1000 NVMe drives áá»á¬ážááŸá ááá¯ááºááŒááá¯ááŸá±á¬ááºááŸá¯á
áá
áºá¡ááœáẠ2 Gbps ááŒááºáááºážááŸá¯ááᯠááŒááá²á·áááºá á¡áááºážá¡ááŒá
áº- Kingston
GPUDirect Storage ááá¯á·ááá¯áẠá¡áá¬ážáá°áááºážááá¬ááᯠá¡áá¯á¶ážááŒá¯áá¬ážááá·áº HPC á¡ááá®áá±ážááŸááºážáá»á¬ážá¡ááœáẠáá¯á¶ááŸááºá áá áºááẠá¡áááºáááºážá áááºážááẠrack áá áºáá¯á¡ááœááºáž áá¯ááºáá±á¬ááºááá¯ááºáá±á¬ áá°áá áºáá»á¬ážááᯠáá¯ááºááá¯ááºážááá¯ááºáᬠááá¯ááºážááŒá¬ážáá¬ážáá±á¬ áááá¯áá¬áá áºáá¯ááŒá áºáááº- RAM á¡ááœáẠáá áºáá°áá Ạááá¯á·ááá¯áẠááŸá áºáá¯á GPU ááŸáá·áº CPU ááœááºáá»ááºááŒááºáž node á¡ááœáẠáá»á¬ážá áœá¬ááŸáá·áº ááá¯ááŸá±á¬ááºááŸá¯á áá áºáá»á¬ážá¡ááœáẠáá áºáᯠááá¯á·ááá¯áẠáá áºáá¯áááºááá¯áá±á¬ áá°áá áºáá»á¬ážá
GPUDirect Storage á ááŒá±ááŒá¬áá»ááºááŸáá·áº á¡ááŒá¬ážáá±á¬ GPU áá±á¬ááºážáá»áá°áá»á¬ážáá¶á០á¡áá¬ážáá°áááºážááá¬áá»á¬áž áá±á«áºááœááºáá¬ááŒááºážááŸáá·áºá¡áá° Kingston á á áœááºážáá±á¬ááºáááºááŒáá·áºáá¬ážáá±á¬ ááœááºáá»á°áá¬áá»á¬ážááœáẠá¡áá¯á¶ážááŒá¯áááºá¡ááœáẠáá®ááá¯ááºážáá¯ááºáá¬ážáá±á¬ ááá¯ááŸá±á¬ááºááŸá¯á áá áºáá»á¬ážá¡ááœáẠáá±á¬ááºážááá¯ááŸá¯ááẠááá¯ážáá¬áá«áááºá á¡ááŸááºá¡áá¬ážááẠGPU áá«ááá·áº ááœááºáá»á°áá¬áá°áá áºáá áºáá¯á áááºáá±á«ááºááŸá 40- ááá¯á·ááá¯áẠ100-Gbit ááœááºáááºáááºáá»á¬ážá ááŒááºáááºážááŸá¯ááŸáá·áº ááŸáá¯ááºážááŸááºááá¯ááºáá±á¬ ááá¯ááŸá±á¬ááºááŸá¯á áá áºá០áá±áá¬áááºááŸá¯ááŒááºážá ááŒááºááŸá¯ááºážááŒá áºáááºá ááá¯á·ááŒá±á¬áá·áº Fabric ááŸáá áºááá·áº ááŒááºá NVMe á¡áá«á¡ááẠá¡ááœááºááŒááºááŸá¯ááºážááŒáá·áº ááá¯ááŸá±á¬ááºááŸá¯á áá áºáá»á¬ážááẠáá°ážááŒá¬ážáááºážááŒá¬ážááŸá¯á០HPC á¡ááá®áá±ážááŸááºážáá»á¬ážá¡ááœáẠáááºááá±á á®ážááŒá±á¬ááºážááá¯á· áá±á¬ááºááœá¬ážáááºááŒá áºáááºá áááá¹áá¶ááŸáá·áºááá¹áá¬áá±ážááœááºáá»ááºááŸá¯áá»á¬ážá¡ááŒááºá áá áºá áá¹ááá·áºáá»áŸáẠHD áá¯ááºáá¯á¶áááºážáá±á«ááºážáá»á¬ážá áœá¬ááᯠá¡ááá¡ááŸááºááŒá¯ááŸá¯ááŸáá·áº ááœá²ááŒá¬ážáááºááŸááºááŸá¯á¡ááŒááºááŸá¯ááºážááá¯á¡ááºááá·áº Safe City ááŒáá¯á·áá±á¬áºá¡ááá·áº ááá¯á·ááá¯áẠáááºáá°ááá¯á·áá±á¬ááºáá±ážá á±á¬áá·áºááŒáá·áºáá±ážá ááºáá¬áá»á¬ážáá²á·ááá¯á·áá±á¬ áá¯á¶ááŒá¯á¶áá±ážá áá áºáá»á¬ážáá²á·ááá¯á·áá±á¬ áááºááœá±á·áááºáááºáá»á¬ážá áœá¬ááœáẠá¡áá¯á¶ážáá»ááŸá¯ááᯠáááºážááá¯á·á ááœá±á·ááŸááááá·áºáááºâ áá¯áá±á¬áºááŒáá¬ážáááºá ááááºáááºáž ááá¯ááŸá±á¬ááºááŸá¯á áá áºá á á»á±ážááœááºááœáẠá¡áá°ážá¡ááœáá·áºá¡áá±áž
Kingston áá¯ááºáá¯ááºáá»á¬ážá¡ááŒá±á¬ááºáž ááá¯ááá¯ááááŸáááá¯áá«á ááœáẠááŒáá·áºááŸá¯ááá¯ááºáá«áááºá
source: www.habr.com