Intel
рд╕рдВрдпреБрдХреНрдд рдкрд░рд┐рдпреЛрдЬрдирд╛
рдХреНрд▓рд╛рдЙрдб рд╣рд╛рдЗрдкрд░рднрд╛рдЗрдЬрд░ рднрд░реНрдЪрд┐рдпреЛ-рдЖрдзрд╛рд░рд┐рдд рдкреНрдпрд╛рд░рд╛рднрд░реНрдЪреБрдЕрд▓рд╛рдЗрдЬреНрдб рдЙрдкрдХрд░рдгрд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдЖрдзреБрдирд┐рдХ рд▓рд┐рдирдХреНрд╕ рд╡рд┐рддрд░рдгрд╣рд░реВ рдЪрд▓рд╛рдЙрдирдорд╛ рдХреЗрдиреНрджреНрд░рд┐рдд рдЫред рдЙрд▓реНрд▓реЗрдЦ рдЧрд░рд┐рдПрдХрд╛ рдореБрдЦреНрдп рдЙрджреНрджреЗрд╢реНрдпрд╣рд░реВ рдордзреНрдпреЗ: рдЙрдЪреНрдЪ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рд╢реАрд▓рддрд╛, рдХрдо рдореЗрдореЛрд░реА рдЦрдкрдд, рдЙрдЪреНрдЪ рдкреНрд░рджрд░реНрд╢рди, рд╕рд░рд▓реАрдХреГрдд рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рд░ рд╕рдореНрднрд╛рд╡рд┐рдд рдЖрдХреНрд░рдордг рднреЗрдХреНрдЯрд░рд╣рд░реВрдХреЛ рдХрдореАред
рдЗрдореБрд▓реЗрд╢рди рд╕рдорд░реНрдерди рдиреНрдпреВрдирддрдордорд╛ рд░рд╛рдЦрд┐рдПрдХреЛ рдЫ рд░ рдлреЛрдХрд╕ paravirtualization рдорд╛ рдЫред рд╣рд╛рд▓ рдХреЗрд╡рд▓ x86_64 рдкреНрд░рдгрд╛рд▓реАрд╣рд░реВ рд╕рдорд░реНрдерд┐рдд рдЫрдиреН, рддрд░ AArch64 рд╕рдорд░реНрдерди рдпреЛрдЬрдирд╛ рдЧрд░рд┐рдПрдХреЛ рдЫред рдЕрддрд┐рдерд┐ рдкреНрд░рдгрд╛рд▓реАрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐, рд▓рд┐рдирдХреНрд╕рдХреЛ рдХреЗрд╡рд▓ 64-рдмрд┐рдЯ рдирд┐рд░реНрдорд╛рдгрд╣рд░реВ рд╣рд╛рд▓ рд╕рдорд░реНрдерд┐рдд рдЫрдиреНред CPU, рдореЗрдореЛрд░реА, PCI рд░ NVDIMM рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдЪрд░рдгрдорд╛ рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░рд┐рдПрдХреЛ рдЫред рд╕рд░реНрднрд░рд╣рд░реВ рдмреАрдЪ рднрд░реНрдЪреБрдЕрд▓ рдореЗрд╕рд┐рдирд╣рд░реВ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдЧрд░реНрди рд╕рдореНрднрд╡ рдЫред
рдирдпрд╛рдБ рд╕рдВрд╕реНрдХрд░рдгрдорд╛:
- рдкреНрдпрд╛рд░рд╛рднрд░реНрдЪреБрдЕрд▓рд╛рдЗрдЬреНрдб I/O рд▓рд╛рдИ рдЕрд▓рдЧ рдкреНрд░рдХреНрд░рд┐рдпрд╛рд╣рд░реВрдорд╛ рд╕рд╛рд░реНрдиреЗ рдХрд╛рдо рдЬрд╛рд░реА рдЫред рдмреНрдпрд╛рдХрдЗрдиреНрдбрд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗ рдХреНрд╖рдорддрд╛рд▓рд╛рдИ рдмреНрд▓рдХ рдпрдиреНрддреНрд░рд╣рд░реВрд╕рдБрдЧ рдЕрдиреНрддрд░рдХреНрд░рд┐рдпрд╛ рдЧрд░реНрди рдердкрд┐рдПрдХреЛ рдЫ
vhost-user-blk ред рдкрд░рд┐рд╡рд░реНрддрдирд▓реЗ рддрдкрд╛рдЗрдБрд▓рд╛рдИ рдмреНрд▓рдХ рдЙрдкрдХрд░рдгрд╣рд░реВ рдХреНрд▓рд╛рдЙрдб рд╣рд╛рдЗрдкрд░рднрд╛рдЗрдЬрд░рдорд╛ vhost-user рдореЛрдбреНрдпреБрд▓рдорд╛ рдЖрдзрд╛рд░рд┐рдд рдЬрдбрд╛рди рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫ, рдЬрд╕реНрддреИSPDK , рдкреНрдпрд╛рд░рд╛рднрд░реНрдЪреБрдЕрд▓рд╛рдЗрдЬреНрдб рднрдгреНрдбрд╛рд░рдгрдХреЛ рд▓рд╛рдЧрд┐ рдмреНрдпрд╛рдХрдПрдиреНрдбрдХреЛ рд░реВрдкрдорд╛; - рдмреНрдпрд╛рдХрдПрдиреНрдбрдорд╛ рдиреЗрдЯрд╡рд░реНрдХ рд╕рдЮреНрдЪрд╛рд▓рдирд╣рд░реВ рд╕рд╛рд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдерди, рдкрдЫрд┐рд▓реНрд▓реЛ рд░рд┐рд▓реАрдЬрдорд╛ рдкреНрд░рд╕реНрддреБрдд рдЧрд░рд┐рдПрдХреЛ
vhost-user-net , рднрд░реНрдЪреБрдЕрд▓ рдиреЗрдЯрд╡рд░реНрдХ рдбреНрд░рд╛рдЗрднрд░рдорд╛ рдЖрдзрд╛рд░рд┐рдд рдирдпрд╛рдБ рдмреНрдпрд╛рдХрдЗрдиреНрдбрдХреЛ рд╕рд╛рде рд╡рд┐рд╕реНрддрд╛рд░ рдЧрд░рд┐рдпреЛрдЯреНрдпрд╛рдк рдЧрд░реНрдиреБрд╣реЛрд╕реН ред рдмреНрдпрд╛рдХрдЗрдиреНрдб Rust рдорд╛ рд▓реЗрдЦрд┐рдПрдХреЛ рдЫ рд░ рдЕрдм рдХреНрд▓рд╛рдЙрдб рд╣рд╛рдЗрдкрд░рднрд╛рдЗрдЬрд░рдорд╛ рдореБрдЦреНрдп рдкреНрдпрд╛рд░рд╛-рднрд░реНрдЪреБрдЕрд▓рд╛рдЗрдЬреНрдб рдиреЗрдЯрд╡рд░реНрдХ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░рдХреЛ рд░реВрдкрдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫ; - рд╣реЛрд╕реНрдЯ рд╡рд╛рддрд╛рд╡рд░рдг рд░ рдЕрддрд┐рдерд┐ рдкреНрд░рдгрд╛рд▓реА рдмреАрдЪрдХреЛ рд╕рдВрдЪрд╛рд░рдХреЛ рджрдХреНрд╖рддрд╛ рд░ рд╕реБрд░рдХреНрд╖рд╛ рдмрдврд╛рдЙрдирдХреЛ рд▓рд╛рдЧрд┐, AF_VSOCK рдареЗрдЧрд╛рдирд╛ (рднрд░реНрдЪреБрдЕрд▓ рдиреЗрдЯрд╡рд░реНрдХ рд╕рдХреЗрдЯрд╣рд░реВ) рдХреЛ рд╕рд╛рде рд╕рдХреЗрдЯрд╣рд░реВрдХреЛ рд╣рд╛рдЗрдмреНрд░рд┐рдб рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди, virtio рдорд╛рд░реНрдлрдд рдХрд╛рдо рдЧрд░реНрдиреЗ рдкреНрд░рд╕реНрддрд╛рд╡ рдЧрд░рд┐рдПрдХреЛ рдЫред рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкрд░рд┐рдпреЛрдЬрдирд╛рдХреЛ рд╡рд┐рдХрд╛рд╕рдорд╛ рдЖрдзрд╛рд░рд┐рдд рдЫ
рдлрд╛рдпрд░рдХреНрд░реНрдпрд╛рдХрд░ , Amazon рджреНрд╡рд╛рд░рд╛ рд╡рд┐рдХрд╕рд┐рддред VSOCK рд▓реЗ рддрдкрд╛рдЗрдБрд▓рд╛рдИ рдЕрддрд┐рдерд┐ рд░ рд╣реЛрд╕реНрдЯ рдкрдХреНрд╖рд╣рд░реВрдорд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВ рдмреАрдЪрдХреЛ рдЕрдиреНрддрд░рдХреНрд░рд┐рдпрд╛рдХреЛ рд▓рд╛рдЧрд┐ рдорд╛рдирдХ POSIX рд╕рдХреЗрдЯ API рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫ, рдЬрд╕рд▓реЗ рдпрд╕реНрддреЛ рдЕрдиреНрддрд░рдХреНрд░рд┐рдпрд╛рдХреЛ рд▓рд╛рдЧрд┐ рд╕рд╛рдзрд╛рд░рдг рдиреЗрдЯрд╡рд░реНрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд╣рд░реВ рдЕрдиреБрдХреВрд▓рди рдЧрд░реНрди рд░ рдПрдХ рд╕рд░реНрднрд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧрдХреЛ рд╕рд╛рде рдзреЗрд░реИ рдЧреНрд░рд╛рд╣рдХ рдХрд╛рд░реНрдпрдХреНрд░рдорд╣рд░реВрдХреЛ рдЕрдиреНрддрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░реНрди рд╕рдЬрд┐рд▓реЛ рдмрдирд╛рдЙрдБрджрдЫ; - HTTP рдкреНрд░реЛрдЯреЛрдХрд▓ рдкреНрд░рдпреЛрдЧ рдЧрд░реА рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди API рдХреЛ рд▓рд╛рдЧрд┐ рдкреНрд░рд╛рд░рдореНрднрд┐рдХ рд╕рдорд░реНрдерди рдкреНрд░рджрд╛рди рдЧрд░рд┐рдпреЛред рднрд╡рд┐рд╖реНрдпрдорд╛, рдпреЛ API рд▓реЗ рдЕрддрд┐рдерд┐ рдкреНрд░рдгрд╛рд▓реАрд╣рд░реВрдорд╛ рдПрд╕рд┐рдиреНрдХреНрд░реЛрдирд╕ рдЕрдкрд░реЗрд╕рдирд╣рд░реВ рдкреНрд░рд╛рд░рдореНрдн рдЧрд░реНрди рд╕рдореНрднрд╡ рдмрдирд╛рдЙрдиреЗрдЫ, рдЬрд╕реНрддреИ рд╣рдЯ-рдкреНрд▓рдЧрд┐рдЩ рд╕реНрд░реЛрддрд╣рд░реВ рд░ рдорд╛рдЗрдЧреНрд░реЗрдЯрд┐рдЩ рд╡рд╛рддрд╛рд╡рд░рдгрд╣рд░реВ;
- virtio MMIO (рдореЗрдореЛрд░реА рдореНрдпрд╛рдк рдЧрд░рд┐рдПрдХреЛ virtio) рдорд╛ рдЖрдзрд╛рд░рд┐рдд рдЯреНрд░рд╛рдлрд┐рдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирдХреЛ рд╕рд╛рде рдПрдХ рддрд╣ рдердкрд┐рдпреЛ, рдЬреБрди PCI рдмрд╕ рдЗрдореБрд▓реЗрд╢рди рдЖрд╡рд╢реНрдпрдХ рдкрд░реНрджреИрди рдиреНрдпреВрдирддрдо рдЕрддрд┐рдерд┐ рдкреНрд░рдгрд╛рд▓реАрд╣рд░реВ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрди рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ;
- рдиреЗрд╕реНрдЯреЗрдб рдЕрддрд┐рдерд┐ рдкреНрд░рдгрд╛рд▓реАрд╣рд░реВ рдЪрд▓рд╛рдЙрдирдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдерди рд╡рд┐рд╕реНрддрд╛рд░ рдЧрд░реНрдиреЗ рдкрд╣рд▓рдХреЛ рдПрдХ рднрд╛рдЧрдХреЛ рд░реВрдкрдорд╛, рдХреНрд▓рд╛рдЙрдб рд╣рд╛рдЗрдкрд░рднрд╛рдЗрдЬрд░рд▓реЗ рдкреНрдпрд╛рд░рд╛рднрд░реНрдЪреБрдЕрд▓рд╛рдЗрдЬреНрдб IOMMU рдпрдиреНрддреНрд░рд╣рд░реВрд▓рд╛рдИ virtio рдорд╛рд░реНрдлрдд рдлрд░реНрд╡рд╛рд░реНрдб рдЧрд░реНрдиреЗ рдХреНрд╖рдорддрд╛ рдердкреЗрдХреЛ рдЫ, рдЬрд╕рд▓реЗ рдЙрдкрдХрд░рдгрд╣рд░реВрдХреЛ рдиреЗрд╕реНрдЯреЗрдб рд░ рдкреНрд░рддреНрдпрдХреНрд╖ рдлрд░реНрд╡рд╛рд░реНрдбрд┐рдЩрдХреЛ рд╕реБрд░рдХреНрд╖рд╛рдорд╛ рд╕реБрдзрд╛рд░ рдЧрд░реНрдЫред
- Ubuntu 19.10 рдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдерди рдкреНрд░рджрд╛рди рдЧрд░рд┐рдпреЛ;
- RAM рдХреЛ 64 GB рднрдиреНрджрд╛ рдмрдвреА рд╕рдВрдЧ рдЕрддрд┐рдерд┐ рдкреНрд░рдгрд╛рд▓реАрд╣рд░реВ рдЪрд▓рд╛рдЙрди рдХреНрд╖рдорддрд╛ рдердкрд┐рдпреЛред
рдердк рд░реВрдкрдорд╛, рдпреЛ рдиреЛрдЯ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ
рдкреНрд▓реЗрдЯрдлрд░реНрдо рдиреНрдпреВрдирддрдо рдУрднрд░рд╣реЗрдбрдХреЛ рд╕рд╛рде рднрд░реНрдЪреБрдЕрд▓ рдореЗрд╕рд┐рдирд╣рд░реВ рдЪрд▓рд╛рдЙрдирдХреЛ рд▓рд╛рдЧрд┐ рдбрд┐рдЬрд╛рдЗрди рдЧрд░рд┐рдПрдХреЛ рд╣реЛ рд░ рд╕рд░реНрднрд░рд▓реЗрд╕ рд╡рд┐рдХрд╛рд╕ рдореЛрдбреЗрд▓ (рд╕реЗрд╡рд╛рдХреЛ рд░реВрдкрдорд╛ рдХрд╛рд░реНрдп) рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдирд┐рд░реНрдорд┐рдд рдкреГрдердХ рд╡рд╛рддрд╛рд╡рд░рдг рд░ рд╕реЗрд╡рд╛рд╣рд░реВ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрди рд░ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди рдЧрд░реНрди рдЙрдкрдХрд░рдгрд╣рд░реВ рдкреНрд░рджрд╛рди рдЧрд░реНрджрдЫред рдлрд╛рдпрд░рдХреНрд░реНрдпрд╛рдХрд░рд▓реЗ рдорд╛рдЗрдХреНрд░реЛрднрд┐рдПрдо рднрдирд┐рдиреЗ рд╣рд▓реНрдХрд╛ рднрд░реНрдЪреБрдЕрд▓ рдореЗрд╕рд┐рдирд╣рд░реВ рдкреНрд░рджрд╛рди рдЧрд░реНрджрдЫ, рдЬрд╕рд▓реЗ рдкрд░рдореНрдкрд░рд╛рдЧрдд рдХрдиреНрдЯреЗрдирд░рд╣рд░реВрдХреЛ рдкреНрд░рджрд░реНрд╢рди рд░ рд▓рдЪрд┐рд▓реЛрдкрди рдкреНрд░рджрд╛рди рдЧрд░реНрджрд╛ рдкреВрд░реНрдг рдЕрд▓рдЧрд╛рд╡ рдкреНрд░рджрд╛рди рдЧрд░реНрди рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рднрд░реНрдЪреБрдЕрд▓рд╛рдЗрдЬреЗрд╢рди рдкреНрд░рд╡рд┐рдзрд┐рд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрдЫред рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдлрд╛рдпрд░рдХреНрд░реНрдпрд╛рдХрд░ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрд╛, рдорд╛рдЗрдХреНрд░реЛрднреАрдПрдо рд╕реБрд░реБ рднрдПрдХреЛ рдХреНрд╖рдгрджреЗрдЦрд┐ рдПрдкреНрд▓рд┐рдХреЗрд╕рди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕реБрд░реБ рд╣реБрдиреЗ рд╕рдордп 125ms рднрдиреНрджрд╛ рдмрдвреА рд╣реБрдБрджреИрди, рдЬрд╕рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдкреНрд░рддрд┐ рд╕реЗрдХреЗрдиреНрдб 150 рд╡рд╛рддрд╛рд╡рд░рдгрд╕рдореНрдордХреЛ рддреАрд╡реНрд░рддрд╛рдХрд╛ рд╕рд╛рде рдирдпрд╛рдБ рднрд░реНрдЪреБрдЕрд▓ рдореЗрд╕рд┐рдирд╣рд░реВ рд╕реБрд░реБ рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред
Firecracker рдХреЛ рдирдпрд╛рдБ рд░рд┐рд▓реАрдЬрд▓реЗ API рд╣реНрдпрд╛рдиреНрдбрд▓рд░ (тАЬтАФno-apiтАЭ) рд╕реБрд░реБ рдирдЧрд░реА рд╕рдЮреНрдЪрд╛рд▓рдирдХреЛ рдореЛрдб рдердкреНрдЫ, рд╡рд╛рддрд╛рд╡рд░рдгрд▓рд╛рдИ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рдлрд╛рдЗрд▓рдорд╛ рд╣рд╛рд░реНрдб-рдХреЛрдб рдЧрд░рд┐рдПрдХреЛ рд╕реЗрдЯрд┐рдЩрд╣рд░реВрдорд╛ рдорд╛рддреНрд░ рд╕реАрдорд┐рдд рдЧрд░реНрджрдЫред рд╕реНрдерд┐рд░ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди "--config-file" рд╡рд┐рдХрд▓реНрдк рдорд╛рд░реНрдлрдд рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░рд┐рдПрдХреЛ рдЫ рд░ JSON рдврд╛рдБрдЪрд╛рдорд╛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдЧрд░рд┐рдПрдХреЛ рдЫред рдХрдорд╛рдгреНрдб рд▓рд╛рдЗрди рд╡рд┐рдХрд▓реНрдкрд╣рд░реВрдмрд╛рдЯ, "тАФ" рд╡рд┐рднрд╛рдЬрдХрдХрд╛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдерди рдкрдирд┐ рдердкрд┐рдПрдХреЛ рдЫ, рддреНрдпрд╕рдкрдЫрд┐ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░рд┐рдПрдХрд╛ рдЭрдгреНрдбрд╛рд╣рд░реВ рдкреНрд░рд╢реЛрдзрди рдирдЧрд░реА рдЪреЗрдирд╕рдБрдЧреИ рдкрд╛рд░ рдЧрд░рд┐рдиреНрдЫрдиреНред
рдЕрдореЗрдЬрди, рдЬрд╕рд▓реЗ рдлрд╛рдпрд░рдХреНрд░рд╛рдХрд░ рд╡рд┐рдХрд╛рд╕ рдЧрд░реНрджрдЫ, рдкрдирд┐
рдЕрдореЗрдЬрди рдкрдирд┐
рд╕реНрд░реЛрдд: opennet.ru