Welcome, Guest. Please login or register.

Author Topic: PFS3 block size  (Read 8807 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline brownb2

  • Full Member
  • ***
  • Join Date: Aug 2010
  • Posts: 224
  • Country: 00
    • Show all replies
    • http://www.silentdevelopment.co.uk
Re: PFS3 block size
« on: September 23, 2010, 10:15:29 AM »
Quote from: Piru;557374
512 bytes

Surely this really depends on the modal average file size of files under say 8KB and the size the device is optimised for rather than a stock answer?

On NTFS it is 4KB (iirc) but that is wasteful for files smaller than that amount as they'd be padded, but that doesn't matter so much now with large HD capacities? Most modern hard disks I would think would also be optimized for 4K block transfers based on expected NTFS usage and CF would probably be FAT16 (i.e. camera) optimized - have a look at this table: http://support.microsoft.com/kb/140365

Yes these are MS standards but I suspect most modern hardware developers would at least look at these during performance considerations.

We need someone to do an analysis of the average modern Workbench distribution file size and average block file transfer performance from a collection of CFs or hard disks and base it on that for the category of devices respectively... Processor  IO performance might be another bottleneck to consider...

[EDIT] Also: "However, a larger cluster size reduces bookkeeping overhead and fragmentation, which may improve reading and writing speed overall. Typical cluster sizes range from 1 sector (512 B) to 128 sectors (64 KiB)." [/EDIT]
[EDIT2] I'm referring to FS in general - I'm using FFS-DC[/EDIT2]
« Last Edit: September 23, 2010, 10:25:16 AM by brownb2 »
A600 2MB Chip, 4MB PCMCIA, 11MB Fast, ACA-620 OC 680EC20@25MHz, RTC, 512MB CF
A1200 - 2MB Chip 8MB Fast, MTEC Viper 68030@42MHz MMU, 68882 FPU, RTC, 1GB CF
AmigaKit A600GS
Retro Games A500 Mini
Atari 520 STFM - 1MB, Multiface ST.
Commodore 16 - 64K Mod, SD2IEC Drive
Commodore 64C - 64K, SD2IEC Drive
ZX Spectrum 48K Rubber Keys
 

Offline brownb2

  • Full Member
  • ***
  • Join Date: Aug 2010
  • Posts: 224
  • Country: 00
    • Show all replies
    • http://www.silentdevelopment.co.uk
Re: PFS3 block size
« Reply #1 on: September 23, 2010, 11:18:33 AM »
Quote from: Piru;580786
No, it doesn't.

Note: I answered the question.

I think you might have missed my second edit - I was referring to file systems in general (in the context Amiga file systems).

IIRC the Amiga has PIO IDE rather than DMA so you'd expect performance benefits if the block size is optimal for clock cycles, i.e. the minimum number of cycles required to request across the IDE bus and CRC the block of a given size would be optimal. Having a faster CPU I expect would improve this as it would allow more CPU cycles to be dedicated to IO, assuming a modern drive with fast IO.

Later 68K processors (IMHO) benefit IO from having a data cache (i.e. not the 68000/68020). 68030's data cache is 256B, 4K for '040 and 8K for '060 so IMHO an 040 upwards using PIO and a decent FS should (assuming not a lot of small files) see benefits of using a 1-4K block size.

Does this sound right (I'm not a hardware engineer)?
« Last Edit: September 23, 2010, 11:24:13 AM by brownb2 »
A600 2MB Chip, 4MB PCMCIA, 11MB Fast, ACA-620 OC 680EC20@25MHz, RTC, 512MB CF
A1200 - 2MB Chip 8MB Fast, MTEC Viper 68030@42MHz MMU, 68882 FPU, RTC, 1GB CF
AmigaKit A600GS
Retro Games A500 Mini
Atari 520 STFM - 1MB, Multiface ST.
Commodore 16 - 64K Mod, SD2IEC Drive
Commodore 64C - 64K, SD2IEC Drive
ZX Spectrum 48K Rubber Keys
 

Offline brownb2

  • Full Member
  • ***
  • Join Date: Aug 2010
  • Posts: 224
  • Country: 00
    • Show all replies
    • http://www.silentdevelopment.co.uk
Re: PFS3 block size
« Reply #2 on: September 23, 2010, 11:34:29 AM »
'fraid not I'm just querying best block sizes for an Amiga in general.
A600 2MB Chip, 4MB PCMCIA, 11MB Fast, ACA-620 OC 680EC20@25MHz, RTC, 512MB CF
A1200 - 2MB Chip 8MB Fast, MTEC Viper 68030@42MHz MMU, 68882 FPU, RTC, 1GB CF
AmigaKit A600GS
Retro Games A500 Mini
Atari 520 STFM - 1MB, Multiface ST.
Commodore 16 - 64K Mod, SD2IEC Drive
Commodore 64C - 64K, SD2IEC Drive
ZX Spectrum 48K Rubber Keys
 

Offline brownb2

  • Full Member
  • ***
  • Join Date: Aug 2010
  • Posts: 224
  • Country: 00
    • Show all replies
    • http://www.silentdevelopment.co.uk
Re: PFS3 block size
« Reply #3 on: September 23, 2010, 12:20:03 PM »
Quote from: Piru;580795
The absolute answer you questioned was the only correct answer to the question presented.
You missed the boat then re. second edit added specifically because I read the entirety of the thread after submitting the post. ;)

Quote from: Piru;580795
Regarding blocksize: Using large blocksize to gain performance only makes sense with poor filesystems that don't keep the data sequental (and thus don't perform mostly sequental access), or with hardware that actually uses larger hardware block size.
I disagree. Since block size is a minimum unit size you are also discussing the impact on the CPU and the amount of usable data transferred in a given time. An extreme example - if the average file size being read is 1K and a cluster size is 8K (thus transfer block size) it'll be transferring more slack space than say with a block of 4K, plus the CPU will be doing more redundant IO operations  (CRC, reads etc). Sequential access only lowers seek latency as far as I'm aware...
Quote from: Piru;580795
FFS is notoriously slow so with that you get a performance boost.
Now that I agree with ;)

Quote from: Piru;580795
PS. While some amiga file systems allow 4k block sizes (and thus seem to be ready for the new 4k block size hard drives) there still is the issue of proper alignment. In order to obtain best performance the partition beginning must be aligned by the block size, too. I doubt the Amiga partitioning programs account for this.

This probably doesn't matter for compact flash which has a standardised sector of 512B so I guess that part answers my initial question as to the best size for CF, either 512B or 1K :) Some hard disks have been using 4K since 2008 btw.
A600 2MB Chip, 4MB PCMCIA, 11MB Fast, ACA-620 OC 680EC20@25MHz, RTC, 512MB CF
A1200 - 2MB Chip 8MB Fast, MTEC Viper 68030@42MHz MMU, 68882 FPU, RTC, 1GB CF
AmigaKit A600GS
Retro Games A500 Mini
Atari 520 STFM - 1MB, Multiface ST.
Commodore 16 - 64K Mod, SD2IEC Drive
Commodore 64C - 64K, SD2IEC Drive
ZX Spectrum 48K Rubber Keys
 

Offline brownb2

  • Full Member
  • ***
  • Join Date: Aug 2010
  • Posts: 224
  • Country: 00
    • Show all replies
    • http://www.silentdevelopment.co.uk
Re: PFS3 block size
« Reply #4 on: September 23, 2010, 12:34:10 PM »
Quote from: Golem!dk;580796
In general? :) And of course not everyone uses the builtin ide controllers... so that's another thing for you to consider. But do post your results, would be more interesting than speculation.

"In general..." something to recommend using certain controllers/CPU combinations/media/fs/blue moons when someone asks what size should I use on a forum there'd be some guidelines. :)

I *think* based on reading around for this thread on hardware standards: for the internal controller 512B would be about the best for low end hardware 000,020 (CF or hard disk). 512B-1K would be better for 030,040,060 and probably 4K for the newer HD standard discussed (040 upwards though). Again this all assumes the alignment is correct as Piru mentions... and that I'm not talking out of my bottom ;)
A600 2MB Chip, 4MB PCMCIA, 11MB Fast, ACA-620 OC 680EC20@25MHz, RTC, 512MB CF
A1200 - 2MB Chip 8MB Fast, MTEC Viper 68030@42MHz MMU, 68882 FPU, RTC, 1GB CF
AmigaKit A600GS
Retro Games A500 Mini
Atari 520 STFM - 1MB, Multiface ST.
Commodore 16 - 64K Mod, SD2IEC Drive
Commodore 64C - 64K, SD2IEC Drive
ZX Spectrum 48K Rubber Keys
 

Offline brownb2

  • Full Member
  • ***
  • Join Date: Aug 2010
  • Posts: 224
  • Country: 00
    • Show all replies
    • http://www.silentdevelopment.co.uk
Re: PFS3 block size
« Reply #5 on: September 23, 2010, 02:18:04 PM »
Quote from: Piru;580802
How? How is it different to transter 64 blocks of 512 bytes vs 32 blocks of 1024 bytes?
A CRC-enabled device calculates a short, fixed-length binary sequence, known as the CRC code or just CRC, for each block of data and sends or stores them both together.

I submit that less blocks (transferred disk sectors) => less CRC checking, unless I am misunderstanding something here.

[EDIT]Also (again might be misunderstanding) as it is PIO the CPU is dealing with the IO and requesting the file at the lowest level, i.e. manipulating/copying blocks (say in contrast to DMA where a single request will be made whilst the CPU does something else).[/EDIT]
« Last Edit: September 23, 2010, 02:35:55 PM by brownb2 »
A600 2MB Chip, 4MB PCMCIA, 11MB Fast, ACA-620 OC 680EC20@25MHz, RTC, 512MB CF
A1200 - 2MB Chip 8MB Fast, MTEC Viper 68030@42MHz MMU, 68882 FPU, RTC, 1GB CF
AmigaKit A600GS
Retro Games A500 Mini
Atari 520 STFM - 1MB, Multiface ST.
Commodore 16 - 64K Mod, SD2IEC Drive
Commodore 64C - 64K, SD2IEC Drive
ZX Spectrum 48K Rubber Keys
 

Offline brownb2

  • Full Member
  • ***
  • Join Date: Aug 2010
  • Posts: 224
  • Country: 00
    • Show all replies
    • http://www.silentdevelopment.co.uk
Re: PFS3 block size
« Reply #6 on: September 24, 2010, 01:46:05 PM »
Quote from: Thomas;580947
You don't need to reinstall. Just backup (for example copy all files to another partition), change file system, quick format and restore the backup.

Someone mentioned in another thread that you need the RDB to contain the "driver" (or whatever it is) in order to boot from the disk too.
A600 2MB Chip, 4MB PCMCIA, 11MB Fast, ACA-620 OC 680EC20@25MHz, RTC, 512MB CF
A1200 - 2MB Chip 8MB Fast, MTEC Viper 68030@42MHz MMU, 68882 FPU, RTC, 1GB CF
AmigaKit A600GS
Retro Games A500 Mini
Atari 520 STFM - 1MB, Multiface ST.
Commodore 16 - 64K Mod, SD2IEC Drive
Commodore 64C - 64K, SD2IEC Drive
ZX Spectrum 48K Rubber Keys