Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
遅延読み込みの歩みから理解するSeekableOCI 2024年11月2日 江口 純矢 JAWS-UG金沢支部×コンテナ支部合同企画 物理コンテナ見ながらコンテナ勉強会!
Slide 2
Slide 2 text
2 経歴 2021年、コドモンにエンジニアとして新卒で入社し請求関連のプロ ダクトを作成するチームに所属。その後、プッシュ通知の基盤を新し く作り直すプロジェクトを経て、SREにジョイン。 最近ハマっていること 早起きしてサウナに行った後、ハッピーアワーで昼飲み。 自己紹介 江口 純矢 えぐち すみや X:@egusumi1219
Slide 3
Slide 3 text
3 Mission
Slide 4
Slide 4 text
4 すべての先生に 子どもと向き合う 時間と心のゆとりを こんなプロダクトを開発しています メインプロダクトは、保育・教育施設向けWebアプリケーション。 保護者と施設のやり取りを支えるモバイルアプリケーションや、施設職員向けモバイル版 アプリケーション、外部サービスと連携するAPIなども開発しています。
Slide 5
Slide 5 text
5 導入施設数推移(ICT) 2021年4月 8,000 2020年4月 5,200 2019年4月 3,000 2018年4月 1,500 2017年4月 500 2016年4月 120 全国導入数 19,000 施設 2022年2月 11,000 17,000 2024年1月 (2024年7月時点) 14,000 2023年4月
Slide 6
Slide 6 text
6 今日話すこと イメージ形式の進化と遅延読み込みの実現 コンテナランタイムにおける遅延読み込み機能の仕組み 従来のOCIイメージのまま遅延読み込みを実現するSOCI 1 2 3
Slide 7
Slide 7 text
7 今日話すこと イメージ形式の進化と遅延読み込みの実現 コンテナランタイムにおける遅延読み込み機能の仕組み 従来のOCIイメージのまま遅延読み込みを実現するSOCI 1 2 3 ※仕組みにフォーカスするので、導入方法や事例については別の記事を参照してください
Slide 8
Slide 8 text
8 1 今日話すこと イメージ形式の進化と遅延読み込みの実現 コンテナランタイムにおける遅延読み込み機能の仕組み 従来のOCIイメージのまま遅延読み込みを実現するSOCI 2 3
Slide 9
Slide 9 text
9 まずは従来のOCIイメージの構造から確認
Slide 10
Slide 10 text
10 CONFIDENTIAL - © 2022 CoDMON Inc. 10 従来のOCIイメージ 1. イメージ形式の進化と遅延読み込みの実現 Manifest ファイル /var /opt … レイヤー1 file1 file2 … レイヤーN Open Containers. “Example Layout.” image-layout.md, GitHub, https://github.com/opencontainers/image-spec/blob/main/image-layout.md
Slide 11
Slide 11 text
11 CONFIDENTIAL - © 2022 CoDMON Inc. 11 従来のOCIイメージ 1. イメージ形式の進化と遅延読み込みの実現 Manifest ファイル /var /opt … レイヤー1 file1 file2 … レイヤーN Tar(file1) Tar(file2) Tar(file3) TarFooter Gzip
Slide 12
Slide 12 text
12 CONFIDENTIAL - © 2022 CoDMON Inc. 12 従来のOCIイメージ 1. イメージ形式の進化と遅延読み込みの実現 Manifest ファイル /var /opt … レイヤー1 file1 file2 … レイヤーN Tar(file1) Tar(file2) Tar(file3) TarFooter Gzip コンテナを起動する際に全てのレイヤーをpull しかし、実際の処理に必要なのは一部
Slide 13
Slide 13 text
13 CONFIDENTIAL - © 2022 CoDMON Inc. 13 従来のOCIイメージ 1. イメージ形式の進化と遅延読み込みの実現 Manifest ファイル /var /opt … レイヤー1 file1 file2 … レイヤーN Tar(file1) Tar(file2) Tar(file3) TarFooter Gzip コンテナを起動する際に全てのレイヤーをpull しかし、実際の処理に必要なのは一部 「必要なものを必要な時に」で生まれたのがStargz
Slide 14
Slide 14 text
14 CONFIDENTIAL - © 2022 CoDMON Inc. 14 従来のOCIイメージ 1. イメージ形式の進化と遅延読み込みの実現 コンテナを起動する際に全てのレイヤーをpull しかし、実際の処理に必要なのは一部 「必要なものを必要な時に」で生まれたのがStargz Seekable tar.gz の略 Manifest ファイル /var /opt … レイヤー1 file1 file2 … レイヤーN Tar(file1) Tar(file2) Tar(file3) TarFooter Gzip
Slide 15
Slide 15 text
15 CONFIDENTIAL - © 2022 CoDMON Inc. 15 遅延読み込みを可能にしたStargzイメージ 1. イメージ形式の進化と遅延読み込みの実現 Tar(file1) Tar(file2) Tar(file3) TarFooter Gzip 従来のOCI形式
Slide 16
Slide 16 text
16 CONFIDENTIAL - © 2022 CoDMON Inc. 16 Gzip 遅延読み込みを可能にしたStargzイメージ 1. イメージ形式の進化と遅延読み込みの実現 Tar(file1) Tar(file2) Tar(file3) TarFooter Gzip Tar(TOC, Tarfooter) Tar(file1) Gzip1 Tar(file2) Gzip2 Tar(file3) Gzip3 従来のOCI形式 Stargz形式 GoogleのCRFS より提案 Google. “Introducing Stargz.”README.md, GitHub, https://github.com/google/crfs?tab=readme-ov-file#introducing-stargz
Slide 17
Slide 17 text
17 CONFIDENTIAL - © 2022 CoDMON Inc. 17 Gzip 遅延読み込みを可能にしたStargzイメージ 1. イメージ形式の進化と遅延読み込みの実現 Tar(file1) Tar(file2) Tar(file3) TarFooter Gzip Tar(TOC, Tarfooter) Tar(file1) Gzip1 Tar(file2) Gzip2 Tar(file3) Gzip3 従来のOCI形式 Stargz形式 GoogleのCRFS より提案 それぞれをgzipで細かく分割 Google. “Introducing Stargz.”README.md, GitHub, https://github.com/google/crfs?tab=readme-ov-file#introducing-stargz
Slide 18
Slide 18 text
18 CONFIDENTIAL - © 2022 CoDMON Inc. 18 Gzip 遅延読み込みを可能にしたStargzイメージ 1. イメージ形式の進化と遅延読み込みの実現 Tar(file1) Tar(file2) Tar(file3) TarFooter Gzip Tar(TOC, Tarfooter) Tar(file1) Gzip1 Tar(file2) Gzip2 Tar(file3) Gzip3 従来のOCI形式 Stargz形式 GoogleのCRFS より提案 それぞれをgzipで細かく分割 gzip同士は連結しても構造が保たれるという特性を利用 gzipヘッダーが増えた分イメージサイズは数%大きくなるけど無視できる by Google Google. “Introducing Stargz.”README.md, GitHub, https://github.com/google/crfs?tab=readme-ov-file#introducing-stargz
Slide 19
Slide 19 text
19 CONFIDENTIAL - © 2022 CoDMON Inc. 19 Stargzの構造をもう少し見てみる 1. イメージ形式の進化と遅延読み込みの実現 Gzip3 Tar(TOC, Tarfooter) Tar(file1) Gzip1 Tar(file2) Gzip2 Tar(file3) Gzip3 Stargz形式
Slide 20
Slide 20 text
20 CONFIDENTIAL - © 2022 CoDMON Inc. 20 Stargzの構造をもう少し見てみる 1. イメージ形式の進化と遅延読み込みの実現 Gzip3 Tar(TOC, Tarfooter) Tar(file1) Gzip1 Tar(file2) Gzip2 Tar(file3) Gzip3 Stargz形式 各ファイルへの 位置情報を持つ
Slide 21
Slide 21 text
21 CONFIDENTIAL - © 2022 CoDMON Inc. 21 Stargzの構造をもう少し見てみる 1. イメージ形式の進化と遅延読み込みの実現 Gzip3 Tar(TOC, Tarfooter) Tar(file1) Gzip1 Tar(file2) Gzip2 Tar(file2) Gzip2 Stargz形式 各ファイルへの 位置情報を持つ TOC自体の 位置情報を持つ
Slide 22
Slide 22 text
22 CONFIDENTIAL - © 2022 CoDMON Inc. 22 コンテナ起動時にTarfooter→TOCの順番でダウンロード Stargzの構造をもう少し見てみる 1. イメージ形式の進化と遅延読み込みの実現 Gzip3 Tar(TOC, Tarfooter) Tar(file1) Gzip1 Tar(file2) Gzip2 Tar(file2) Gzip2 Stargz形式 各ファイルへの 位置情報を持つ コンテナ実行中、必要になった時にTOCを元に特定ファイルのみをpull TOC自体の 位置情報を持つ
Slide 23
Slide 23 text
23 CONFIDENTIAL - © 2022 CoDMON Inc. 23 Stargzの課題 1. イメージ形式の進化と遅延読み込みの実現
Slide 24
Slide 24 text
24 CONFIDENTIAL - © 2022 CoDMON Inc. 24 Stargzの課題 1. イメージ形式の進化と遅延読み込みの実現 実行のオーバーヘッド増 containerd. “Stargz Snapshotter.”README.md, GitHub, https://github.com/containerd/stargz-snapshotter
Slide 25
Slide 25 text
25 CONFIDENTIAL - © 2022 CoDMON Inc. 25 Stargzの課題 1. イメージ形式の進化と遅延読み込みの実現 そこで考案されたのがeStargz 実行のオーバーヘッド増 containerd. “Stargz Snapshotter.”README.md, GitHub, https://github.com/containerd/stargz-snapshotter
Slide 26
Slide 26 text
26 CONFIDENTIAL - © 2022 CoDMON Inc. 26 Stargzの課題 1. イメージ形式の進化と遅延読み込みの実現 そこで考案されたのがeStargz 実行のオーバーヘッド増 containerd. “Stargz Snapshotter.”README.md, GitHub, https://github.com/containerd/stargz-snapshotter
Slide 27
Slide 27 text
27 CONFIDENTIAL - © 2022 CoDMON Inc. 27 Stargzをより強化したeStargz 1. イメージ形式の進化と遅延読み込みの実現 アクセス頻度の高いファイルをコンテナ起動時にprefetch チャンクレベルの検証 主要な進化は以下二つ containerd. “overview.”estargz.md, GitHub, https://github.com/containerd/stargz-snapshotter/blob/main/docs/estargz.md#overview
Slide 28
Slide 28 text
28 CONFIDENTIAL - © 2022 CoDMON Inc. 28 Stargzをより強化したeStargz 1. イメージ形式の進化と遅延読み込みの実現 アクセス頻度の高いファイルをコンテナ起動時にprefetch チャンクレベルの検証 主要な進化は以下二つ containerd. “overview.”estargz.md, GitHub, https://github.com/containerd/stargz-snapshotter/blob/main/docs/estargz.md#overview
Slide 29
Slide 29 text
29 CONFIDENTIAL - © 2022 CoDMON Inc. 29 Stargzをより強化したeStargz 1. イメージ形式の進化と遅延読み込みの実現 アクセス頻度の高いファイルをコンテナ起動時にprefetch landmark fileによって prefetchする/しない の領域を区切る Kohei Tokunaga “Startup containers in lightning speed with lazy image distribution on containerd” https://medium.com/nttlabs/startup-containers-in-lightning-speed-with-lazy-image-distribution-on-containerd-243d94522361
Slide 30
Slide 30 text
30 CONFIDENTIAL - © 2022 CoDMON Inc. 30 eStargzはどうやってprefetchするファイルを決めている? 1. イメージ形式の進化と遅延読み込みの実現 legacy image eStargz image イメージをeStargzに変換 containerd. “Prioritized Files and Landmark Files.”estargz.md, GitHub, https://github.com/containerd/stargz-snapshotter/blob/main/docs/estargz.md#prioritized-files-and-landmark-files
Slide 31
Slide 31 text
31 CONFIDENTIAL - © 2022 CoDMON Inc. 31 eStargzはどうやってprefetchするファイルを決めている? 1. イメージ形式の進化と遅延読み込みの実現 legacy image eStargz image イメージをeStargzに変換 sandbox環境でコンテナを起動 file1:accessed file2 file3:accessed 起動時のファイルアクセスを解析 起動時アクセスされたファイルを prefetch対象に containerd. “Prioritized Files and Landmark Files.”estargz.md, GitHub, https://github.com/containerd/stargz-snapshotter/blob/main/docs/estargz.md#prioritized-files-and-landmark-files
Slide 32
Slide 32 text
32 CONFIDENTIAL - © 2022 CoDMON Inc. 32 コンテナランタイム側の対応 1. イメージ形式の進化と遅延読み込みの実現 コンテナランタイムもeStargzの構造に対応する仕組みが必要 ・TOCやlandmarkを解釈する仕組み ・欲しい部分だけをレジストリから取得する仕組み Kohei Tokunaga “Startup containers in lightning speed with lazy image distribution on containerd” https://medium.com/nttlabs/startup-containers-in-lightning-speed-with-lazy-image-distribution-on-containerd-243d94522361
Slide 33
Slide 33 text
33 2 今日話すこと イメージ形式の進化と遅延読み込みの実現 コンテナランタイムにおける遅延読み込み機能の仕組み 従来のOCIイメージのまま遅延読み込みを実現するSOCI 1 3
Slide 34
Slide 34 text
34 CONFIDENTIAL - © 2022 CoDMON Inc. 34 contaierd上でコンテナのファイルシステムを管理する「snapshotter」 2. コンテナランタイムにおける遅延読み込み機能の仕組み snapshotter plugin overlayfs legacy image default Nicola Apicella “What is a containerd snapshotter?” https://dev.to/napicella/what-is-a-containerd-snapshotters-3eo2#whats-a-snapshotter
Slide 35
Slide 35 text
35 CONFIDENTIAL - © 2022 CoDMON Inc. 35 eStargz image contaierd上でコンテナのファイルシステムを管理する「snapshotter」 2. コンテナランタイムにおける遅延読み込み機能の仕組み snapshotter plugin overlayfs legacy image overlayfsはeStargz形式に非対応だが eStargzがOCI互換なので利用可能 ※遅延読み込みはできない default
Slide 36
Slide 36 text
36 CONFIDENTIAL - © 2022 CoDMON Inc. 36 legacy image eStargz image eStargzに対応した「stargz snapshotter」 2. コンテナランタイムにおける遅延読み込み機能の仕組み snapshotter plugin stargz snapshotter plugged in
Slide 37
Slide 37 text
37 CONFIDENTIAL - © 2022 CoDMON Inc. 37 ・TOCファイル ・prefetch対象ファイル をダウンロード legacy image eStargz image eStargzに対応した「stargz snapshotter」 2. コンテナランタイムにおける遅延読み込み機能の仕組み snapshotter plugin stargz snapshotter plugged in コンテナ起動時
Slide 38
Slide 38 text
38 CONFIDENTIAL - © 2022 CoDMON Inc. 38 ・TOCファイル ・prefetch対象ファイル をダウンロード legacy image eStargz image eStargzに対応した「stargz snapshotter」 2. コンテナランタイムにおける遅延読み込み機能の仕組み snapshotter plugin stargz snapshotter plugged in コンテナ起動時 コンテナ実行中 必要なファイルは都度TOCを参照してpull
Slide 39
Slide 39 text
39 CONFIDENTIAL - © 2022 CoDMON Inc. 39 eStargz形式の課題 2. コンテナランタイムにおける遅延読み込み機能の仕組み 既存のOCIイメージをeStargz形式に変換する必要がある これを解決するのが、Stargz Snapshotterからフォークされた SOCI Snapshotter
Slide 40
Slide 40 text
40 3 今日話すこと イメージ形式の進化と遅延読み込みの実現 コンテナランタイムにおける遅延読み込み機能の仕組み 従来のOCIイメージのまま遅延読み込みを実現するSOCI 1 2
Slide 41
Slide 41 text
41 CONFIDENTIAL - © 2022 CoDMON Inc. 41 「stargz snapshotter」からフォークされた「soci snapshotter」 3. 従来のOCIイメージのまま遅延読み込みを実現するSOCI Seekable OCIの略 従来のOCIイメージの形式を変更することなく、遅延読み込みを実現する 簡単に言えば「TOCをイメージの外に保存する」アプローチ
Slide 42
Slide 42 text
42 CONFIDENTIAL - © 2022 CoDMON Inc. 42 SOCIを実現するSOCI Index 3. 従来のOCIイメージのまま遅延読み込みを実現するSOCI Toshiki Watanabe “詳解 : Seekable OCI を使用した AWS Fargate におけるコンテナイメージの遅延読み込み” https://aws.amazon.com/jp/blogs/news/under-the-hood-lazy-loading-container-images-with-seekable-oci-and-aws-fargate/
Slide 43
Slide 43 text
43 CONFIDENTIAL - © 2022 CoDMON Inc. 43 SOCIを実現するSOCI Index 3. 従来のOCIイメージのまま遅延読み込みを実現するSOCI OCIイメージの横に、SOCI Indexというファイルを保存する だけで実現可能 Toshiki Watanabe “詳解 : Seekable OCI を使用した AWS Fargate におけるコンテナイメージの遅延読み込み” https://aws.amazon.com/jp/blogs/news/under-the-hood-lazy-loading-container-images-with-seekable-oci-and-aws-fargate/
Slide 44
Slide 44 text
44 SOCI Indexの構造を見てみる
Slide 45
Slide 45 text
45 CONFIDENTIAL - © 2022 CoDMON Inc. 45 SOCIを実現するSOCI Index 3. 従来のOCIイメージのまま遅延読み込みを実現するSOCI Toshiki Watanabe “詳解 : Seekable OCI を使用した AWS Fargate におけるコンテナイメージの遅延読み込み” https://aws.amazon.com/jp/blogs/news/under-the-hood-lazy-loading-container-images-with-seekable-oci-and-aws-fargate/
Slide 46
Slide 46 text
46 CONFIDENTIAL - © 2022 CoDMON Inc. 46 SOCI Indexの構成要素 3. 従来のOCIイメージのまま遅延読み込みを実現するSOCI レイヤーごとに、zTOCというメタデータを持つ Toshiki Watanabe “詳解 : Seekable OCI を使用した AWS Fargate におけるコンテナイメージの遅延読み込み” https://aws.amazon.com/jp/blogs/news/under-the-hood-lazy-loading-container-images-with-seekable-oci-and-aws-fargate/
Slide 47
Slide 47 text
47 CONFIDENTIAL - © 2022 CoDMON Inc. 47 zTOCの構成要素 3. 従来のOCIイメージのまま遅延読み込みを実現するSOCI zTOCはTOC, zinfoの二つの要素から構成される。 レイヤーごとに、zTOCというメタデータを持つ Toshiki Watanabe “詳解 : Seekable OCI を使用した AWS Fargate におけるコンテナイメージの遅延読み込み” https://aws.amazon.com/jp/blogs/news/under-the-hood-lazy-loading-container-images-with-seekable-oci-and-aws-fargate/
Slide 48
Slide 48 text
48 CONFIDENTIAL - © 2022 CoDMON Inc. 48 zTOCの使い方を見てみる 3. 従来のOCIイメージのまま遅延読み込みを実現するSOCI 解凍前OCI Layer(tar.gz) 解凍後OCI Layer(tar) TOC zInfo ファイル名 解凍後OCI中のoffset 開始span 終了span bin/bash 1325576 0 0 bin/ls 12353 0 1 zTOC Amazon Web Services - Labs. “Conceptual Data Model.”index.md, GitHub, https://github.com/awslabs/soci-snapshotter/blob/main/docs/index.md#conceptual-data-model
Slide 49
Slide 49 text
49 CONFIDENTIAL - © 2022 CoDMON Inc. 49 zTOCをもう少し詳しく見てみる 3. 従来のOCIイメージのまま遅延読み込みを実現するSOCI 解凍前OCI Layer(tar.gz) 解凍後OCI Layer(tar) TOC zInfo ファイル名 解凍後OCI中のoffset 開始span 終了span bin/bash 1325576 0 0 bin/ls 12353 0 1 zTOC Amazon Web Services - Labs. “Conceptual Data Model.”index.md, GitHub, https://github.com/awslabs/soci-snapshotter/blob/main/docs/index.md#conceptual-data-model
Slide 50
Slide 50 text
50 CONFIDENTIAL - © 2022 CoDMON Inc. 50 zTOCをもう少し詳しく見てみる 3. 従来のOCIイメージのまま遅延読み込みを実現するSOCI 解凍前OCI Layer(tar.gz) 解凍後OCI Layer(tar) span TOC zInfo ファイル名 解凍後OCI中のoffset 開始span 終了span bin/bash 1325576 0 0 bin/ls 12353 0 1 zTOC Amazon Web Services - Labs. “Conceptual Data Model.”index.md, GitHub, https://github.com/awslabs/soci-snapshotter/blob/main/docs/index.md#conceptual-data-model
Slide 51
Slide 51 text
51 CONFIDENTIAL - © 2022 CoDMON Inc. 51 zTOCをもう少し詳しく見てみる 3. 従来のOCIイメージのまま遅延読み込みを実現するSOCI 解凍前OCI Layer(tar.gz) 解凍後OCI Layer(tar) span 解凍可能な 論理的な単位 TOC zInfo ファイル名 解凍後OCI中のoffset 開始span 終了span bin/bash 1325576 0 0 bin/ls 12353 0 1 zTOC Amazon Web Services - Labs. “Conceptual Data Model.”index.md, GitHub, https://github.com/awslabs/soci-snapshotter/blob/main/docs/index.md#conceptual-data-model
Slide 52
Slide 52 text
52 CONFIDENTIAL - © 2022 CoDMON Inc. 52 zTOCをもう少し詳しく見てみる 3. 従来のOCIイメージのまま遅延読み込みを実現するSOCI 解凍前OCI Layer(tar.gz) 解凍後OCI Layer(tar) span 解凍可能な 論理的な単位 TOC zInfo ファイル名 解凍後OCI中のoffset 開始span 終了span bin/bash 1325576 0 0 bin/ls 12353 0 1 zTOC zInfoは解凍前OCI内の spanの情報 Amazon Web Services - Labs. “Conceptual Data Model.”index.md, GitHub, https://github.com/awslabs/soci-snapshotter/blob/main/docs/index.md#conceptual-data-model
Slide 53
Slide 53 text
53 bin/bashが必要になった想定で処理順で見る まとめ用スライド1
Slide 54
Slide 54 text
54 CONFIDENTIAL - © 2022 CoDMON Inc. 54 どのような順序で遅延読み込みができるか? 3. 従来のOCIイメージのまま遅延読み込みを実現するSOCI 解凍前OCI Layer(tar.gz) 解凍後OCI Layer(tar) span TOC zInfo ファイル名 解凍後OCI中のoffset 開始span 終了span bin/bash 1325576 0 0 bin/ls 12353 0 1 zTOC plugged in soci snapshotter
Slide 55
Slide 55 text
55 CONFIDENTIAL - © 2022 CoDMON Inc. 55 コンテナ起動前に事前準備 3. 従来のOCIイメージのまま遅延読み込みを実現するSOCI 解凍前OCI Layer(tar.gz) 解凍後OCI Layer(tar) TOC zInfo ファイル名 解凍後OCI中のoffset 開始span 終了span bin/bash 1325576 0 0 bin/ls 12353 0 1 zTOC span plugged in soci snapshotter ① コンテナ起動前に zTOCを全てダウンロード
Slide 56
Slide 56 text
56 CONFIDENTIAL - © 2022 CoDMON Inc. 56 起動後、bin/bashが必要になった場合 3. 従来のOCIイメージのまま遅延読み込みを実現するSOCI 解凍前OCI Layer(tar.gz) 解凍後OCI Layer(tar) TOC zInfo ファイル名 解凍後OCI中のoffset 開始span 終了span bin/bash 1325576 0 0 bin/ls 12353 0 1 zTOC span plugged in soci snapshotter ① ② ② bin/bash TOCを元に、tarアーカイブ内の該 当ファイルの位置を取得
Slide 57
Slide 57 text
57 CONFIDENTIAL - © 2022 CoDMON Inc. 57 起動後、bin/bashが必要になった場合 3. 従来のOCIイメージのまま遅延読み込みを実現するSOCI 解凍前OCI Layer(tar.gz) 解凍後OCI Layer(tar) TOC zInfo ファイル名 解凍後OCI中のoffset 開始span 終了span bin/bash 1325576 0 0 bin/ls 12353 0 1 zTOC span plugged in soci snapshotter ① ② ② bin/bash bin/bash zinfoを元にtar.gz内で 該当ファイルと一致する spanを特定し解凍 ③
Slide 58
Slide 58 text
58 CONFIDENTIAL - © 2022 CoDMON Inc. 58 起動後、bin/bashが必要になった場合 3. 従来のOCIイメージのまま遅延読み込みを実現するSOCI 解凍前OCI Layer(tar.gz) 解凍後OCI Layer(tar) TOC zInfo ファイル名 解凍後OCI中のoffset 開始span 終了span bin/bash 1325576 0 0 bin/ls 12353 0 1 zTOC span plugged in soci snapshotter ① ② ② bin/bash bin/bash zinfoを元にtar.gz内で 該当ファイルと一致する spanを特定し解凍 ③
Slide 59
Slide 59 text
59 とはいえ、まだSOCIにもまだ改善の余地がある
Slide 60
Slide 60 text
60 一律「10MBより小さいレイヤー」 を対象にprefetch
Slide 61
Slide 61 text
61 一律「10MBより小さいレイヤー」 を対象にprefetch prefetch対象がアクセス頻度にかかわらず そのレイヤーのサイズの大小で決まってしまう
Slide 62
Slide 62 text
62 prefetch対象の柔軟性を高める Load Order Document という機能の導入が検討されてます Amazon Web Services - Labs. “Workload-specific load order optimization.”design-docs/Readme.md , GitHub, https://github.com/awslabs/soci-snapshotter/blob/97feaeabdeb3318279bfe2a707ea81f837a6b83e/docs/design-docs/README.md#design-docs
Slide 63
Slide 63 text
63 皆さんもこれを機に遅延読み込みについて 調べてみてはいかがでしょうか?
Slide 64
Slide 64 text
64 コドモン採用ページ 開発ブログ コドモンでは一緒に働きたい仲間を募集しています!
Slide 65
Slide 65 text
65 ご清聴ありがとうございました!
Slide 66
Slide 66 text
66 最後に
Slide 67
Slide 67 text
67 X:@egusumi1219
Slide 68
Slide 68 text
No content