On Wed, Apr 21, 2021 at 09:56:59AM +0100, Tom Smyth wrote: > Hello Otto, Christian, > > I was relying on that paper for the pictures of the alignment issue, > > VMFS (vmware file system) since version 5 of vmwarehas allocation > units of 1MB each > > https://kb.vmware.com/s/article/2137120 > > my understanding is that SSDs have a similar allocation unit setup of 1MB, > > and that aligning your file system to 1MB would improve performance > > > |OpenBSD Filesystem --------------| FFS-Filesystem > |VMDK Virtual Disk file for Guest | OpenBSD-Gusest-Disk0.vmdk > |vmware datastore------ ------------| 1MB allocation > |Logical Storage Device / RAID---| > |SSD or DISK storage --------------| 1MB allocation unit (on some SSDs) > > Figure 2 of the following paper shows what > https://www.usenix.org/legacy/event/usenix09/tech/full_papers/rajimwale/rajimwale.pdf > as your writes start to cross another underlying block boundary you > see a degradation of performance > largest impact is on a write o1 1MB (misaligned) across 2 blocks,
Max unit OpenBSD writes in one go is 64k. So the issue is not that relevant. Only 1 in 16 blocks would potentially cross a boundary. You are free to setup your disks in a way that suits you, but in general I don't think we should enforce 1Mb alignment of start of partition and/or size because *some* *might* get a benefit. -Otto > but it repeats as you increase the number of MB in a transaction but > the % overhead > reduces for each additional 1MB in the Transaction. > > If there is no downside to allocating /Offsetting filesystems on 1MB > boundaries, > can we do that by default to reduce wear on SSDs, and improve performance > in Virtualized Environments with large allocation units on what ever storage > subsystem they are running. > > Thanks for your time > > Tom Smyth > > > > > On Wed, 21 Apr 2021 at 08:49, Otto Moerbeek <o...@drijf.net> wrote: > > > > On Wed, Apr 21, 2021 at 08:20:10AM +0100, Tom Smyth wrote: > > > > > Hi Christian, > > > > > > if you were to have a 1MB file or a database that needed to read 1MB > > > of data, i > > > f the partitions are not aligned then > > > your underlying storage system need to load 2 chunks or write 2 > > > chunks for 1 MB of data, written, > > > > > > So *worst* case you would double the workload for the storage hardware > > > (SSD or Hardware RAID with large chunks) for each transaction > > > on writing to SSDs if you are not aligned one could *worst *case > > > double the write / wear rate. > > > > > > The improvement would be less for accessing small files and writing small > > > files > > > (as they would need to be across 2 Chunks ) > > > > > > The following paper explains (better than I do ) > > > https://www.vmware.com/pdf/esx3_partition_align.pdf > > > > > > if the cost is 1-8MB at the start of the disk (assuming partitions are > > > sized > > > so that they dont loose the ofset of 2048 sectors) > > > I think it is worth pursuing. (again I only have experience on amd64 > > > /i386 hardware) > > > > Doing a quick scan trhough the pdf I only see talk about 64k boundaries. > > > > FFS(2) will split up any partiition in multiple cylinder groups. Each > > cylinder group starts with a superblock copy, inode tables and other > > meta datas before the data blocks of that cylinder group. Having the > > start of a partion a 1 1MB boundary does not get you those data blocks > > at a specific boundary. So I think your resoning does not apply to FFS(2). > > > > It might make sense to move the start to offset 128 for big > > partitions, so you align with the 64k boundary mentioned in the pdf, > > the block size is already 64k (for big parttiions). > > > > -Otto > > > > > > > > Thanks > > > Tom Smyth > > > > > > On Tue, 20 Apr 2021 at 22:52, Christian Weisgerber <na...@mips.inka.de> > > > wrote: > > > > > > > > Tom Smyth: > > > > > > > > > just installing todays snapshot and the default offset on amd64 is 64, > > > > > (as it has been for as long as I can remember) > > > > > > > > It was changed from 63 in 2010. > > > > > > > > > Is it worth while updating the defaults so that OpenBSD partition > > > > > layout will be optimal for SSD or other Virtualized RAID environments > > > > > with 1MB Chunks, > > > > > > > > What are you trying to optimize with this? FFS2 file systems reserve > > > > 64 kB at the start of a partition, and after that it's filesystem > > > > blocks, which are 16/32/64 kB, depending on the size of the filesystem. > > > > I can barely see an argument for aligning large partitions at 128 > > > > sectors, but what purpose would larger multiples serve? > > > > > > > > > Is there a down side to moving the default offset to 2048 ? > > > > > > > > Not really. It wastes a bit of space, but that is rather insignificant > > > > for today's disk sizes. > > > > > > > > -- > > > > Christian "naddy" Weisgerber na...@mips.inka.de > > > > > > > > > > > > > -- > > > Kindest regards, > > > Tom Smyth. > > > > > > > -- > Kindest regards, > Tom Smyth.