Memory management 在设计文件系统时,如何根据所使用的块数节省存储空间的浪费

Memory management 在设计文件系统时,如何根据所使用的块数节省存储空间的浪费,memory-management,filesystems,storage,block,Memory Management,Filesystems,Storage,Block,作为我论文的一部分,我正在设计一个存储子系统。我必须创建一个类似inode的结构(比如ext3间接块用法等)。在与ext3相同的行上,但我有两种不同的页面/块大小-16k和512k(用于直接块访问)。我总共可以有36个街区。我的问题是,应该使用多少个大小的块来最小化内部碎片或浪费的存储空间。有人建议保留3216K块,因为16k*32=512k,这样可以避免空间浪费,但我没有太多地理解这个论点。请帮助我理解逻辑。首先要问的问题是:您遇到的平均文件大小是多少?假设平均文件大小为256K…文件大小可以

作为我论文的一部分,我正在设计一个存储子系统。我必须创建一个类似inode的结构(比如ext3间接块用法等)。在与ext3相同的行上,但我有两种不同的页面/块大小-16k和512k(用于直接块访问)。我总共可以有36个街区。我的问题是,应该使用多少个大小的块来最小化内部碎片或浪费的存储空间。有人建议保留3216K块,因为16k*32=512k,这样可以避免空间浪费,但我没有太多地理解这个论点。请帮助我理解逻辑。

首先要问的问题是:您遇到的平均文件大小是多少?假设平均文件大小为256K…文件大小可以大于或小于256K,但平均值为256K。如果是这样,保留一个512K块作为直接块会导致内部碎片。将16K块作为直接块覆盖所有文件大小让我们假设,这些是虚拟值,但比率保持不变(因为我不能透露太多信息):(因此,我们正在为高性能科学应用程序实施一个文件系统,我们的inode总共可以引用36个块。平均文件大小>512 k。为什么这些值,我很清楚,很遗憾,我无法共享,但如何将36个块拆分为32个,其他数字是什么。如果avg文件大小>512K,文件的百分比是多少在您得到的建议中,32个16K块指针=>4 512K块=>1MB的文件可以通过直接块指针访问。如果90%的文件为1MB或更少,则块指针可以存储在索引节点本身,无需读取额外的间接/双间接/三间接等。但是,如果90%的文件为10MB,则可以重新读取用20个512K块指针表示它们,但如果使用32个16K块+4个512K块,则无法在36个块指针空间内表示它们。因此,这完全取决于文件系统的目标文件大小分布。