Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Userspace convertor] Unexpectedly high number of disk read/written #267

Open
1 task done
WaberZhuang opened this issue Feb 28, 2024 · 0 comments
Open
1 task done
Labels
bug Something isn't working

Comments

@WaberZhuang
Copy link
Contributor

What happened in your environment?

We found a large amount of disk IO during the conversion process, e.g. 60MB of disk IO when the original OCI layer is only 8KB.

We have identified the reason for this. The convertor does mkfs to initialize an ext4 filesystem but we missed a feature called 'Lazy Block Group Initialization'. Then, every time it opens/closes the ext4 filesystem, it reads through the bitmap/inode table in each block group. Otherwise, we use a simple cache to increment the IO block size.

We need to change the mkfs to fix it, which may affect the layer deduplication.

What did you expect to happen?

No response

How can we reproduce it?

Convert an overlaybd image and use the option --reserve

$du -sh tmp_conv/0015_sha256\:ec84879c7faf9af7be642c7673a291fdc9926c7c57e3c775c60bfa3cad0095ed/{writable_data,layer.tar}
65M	tmp_conv/0015_sha256:ec84879c7faf9af7be642c7673a291fdc9926c7c57e3c775c60bfa3cad0095ed/writable_data
8.0K	tmp_conv/0015_sha256:ec84879c7faf9af7be642c7673a291fdc9926c7c57e3c775c60bfa3cad0095ed/layer.tar

What is the version of your Accelerated Container Image?

v1.0.2

What is your OS environment?

centos 8

Are you willing to submit PRs to fix it?

  • Yes, I am willing to fix it.
@WaberZhuang WaberZhuang added the bug Something isn't working label Feb 28, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant