SFS on AFGS Project
Provide a File System component in support of the AFGS_Program.
Description
The SFS, used on the PDMC A-380 product out of Toronto, will be modified for use in support of the AFGS_Program.
News
- 2007-01-15: Wiki being brought up to date to reflect shift in our AFGS focus from SFS towards Boot and PAL [TBD: links].
- 2007-01-08: (1) Configurable filesize and blocksize are working. Blocksize of 4096 gives a 50% improvement in reads, 30% in writes. (2) Our target for testing has been temporarily reclaimed.
- 2007-01-02: Configurable filesize is working (via configuring the file map cache size). Configuring the blocksize has some problems at large blocksizes (> 2048); debugging is ongoing.
- 2006-12-20: Registry tuning has provided pretty significant performance improvements to the DMA MAL, with key operations taking less than a second. Write speed is still a concern.
- 2006-11-27: DMA capable hardware is working, but expected performance improvements haven't materialized yet. See below under DMA Release.
- 2006-11-15: DMA capable hardware does not appear to be working. In other words, we beleive we have the correct software algorithms (have triple checked) but DMA transfer is not occuring. Inquires have been made regarding hardware DMA mod as well as any test software ID&C may have used to verify correct functionality of hardware. This is placing the 17th DMA Release date at extreem risk.
- 2006-11-09: DMA capable hardware available.
- 2006-10-16: The DMA/500MB Release is experiencing a day-for-day slip awaiting DMA capable hardware.
- 2006-10-10: It has been determined that the 64MB hard-coded maximum file size limit (documented in the SFS User's Guide) will not be acceptable for the AFGS_Program. Therefore, the SFS Server will need to be modified from it existing baseline to provide a configurable maximum file size limit.
- 2006-10-06: I/O Memory IDE MAL released (see announcement).
- 2006-09-22: Initial project quote assuming an October 2nd, 2006 start date.
Current Status
HOLD: All work towards SFS milestones has been suspended in favor of assessing the best performance we can achieve/expect without a major re-design of the SFS. The performance investigation will include some incidental progress on the milestones in order to evaluate their potential performance gain.
At this point the data indicates that the SFS will not meet the required performance. Therefore, the SW COE SFS resources will be shifted to the AFGS Boot/PAL effort until further notice.
Tasks
- Note: configurable maximum file size limit was not part of initial work scope estimate.
Initial Budget: $156,718
YTD: $55,372
ETC: $0
EAC: $55,372
| Milestones | Due Date | Estimated Delivery | Delivered | Percentage Complete |
|---|---|---|---|---|
| [1] I/O Memory Release | N/A | 09-OCT-2006 | 06-OCT-2006 | 100% |
| [2] 500MB Release | N/A | 30-OCT-2006 | 30-OCT-2006 | 100% |
| [3] DMA Release | TBD | HOLD | HOLD | 0% |
| [4] Configurable File Size Limit Release | TBD | HOLD | HOLD | 0% |
| [5] MAL Verified Release | TBD | HOLD | HOLD | 0% |
| [6] SFS Verified Release | TBD | HOLD | HOLD | 0% |
Tasks For Milestone [1] I/O Memory Release
| Task | Assignee | Risk | Original Estimate | Current Estimate | Elapsed | Remaining |
|---|---|---|---|---|---|---|
| SFS Moved to Subversion | Bill Cronk & Mike Horgan | None | 8 | 8 | 8 | 0 |
| I/O Memory IDE MAL - Development | Mike Mast & Mike Horgan | None | 40 | 40 | TBD | 0 |
| I/O Memory IDE MAL - Release | Mike Mast & Mike Horgan | None | 8 | 8 | TBD | 0 |
| Totals | 56 | 56 | TBD | 0 | ||
Tasks For Milestone [2] 500MB Release
| Task | Assignee | Risk | Original Estimate | Current Estimate | Elapsed | Remaining |
|---|---|---|---|---|---|---|
| 500MB - Development | John Kimball | None | 40 | 82 | 82 | 0 |
| 500MB - Release | John Kimball | None | 8 | 8 | 8 | 0 |
| Totals | 48 | 78 | 78 | 0 | ||
Tasks For Milestone [3] DMA Release
Current Status: Our target for testing has been temporarily reclaimed. Prior to that, registry tuning had given pretty significant improvements.
| Task | Assignee | Risk | Original Estimate | Current Estimate | Elapsed | Remaining |
|---|---|---|---|---|---|---|
| DMA MAL - Development | Mike Mast & Mike Horgan | 1) Need Network Accessible Hardware 2) Performance Findings |
80 | 80 | 56 | 24 |
| DMA MAL - Release | Mike Mast | None | 8 | 8 | 0 | 8 |
| Totals | 88 | 88 | 56 | 32 | ||
Tasks For Milestone [4] Configurable File Size Limit Release
Current status: File size and block size are now adjustable via the config file, via configuring the file map cache size. Block size of 4096 yields some performance improvements; sizes beyond that aren't likely to yield significant gains. A bug with very large partitions (> 626 megs) is being diagnosed.
| Task | Assignee | Risk | Original Estimate | Current Estimate | Elapsed | Remaining |
|---|---|---|---|---|---|---|
| SFS Configuration Tool Updates | Kindorf | None | 40 | 16 | 7 | 9 |
| SFS Configuration Verification Tool Updates | Kindorf | None | 40 | 40 | 18 | 22 |
| SFS Server Development | John Kimball | None | 20 | 185 | 145 | 40 |
| Release | John Kimball | None | 8 | 8 | 0 | 8 |
| Totals | 108 | 214 | 89 | 125 | ||
Tasks For Milestone [5] MAL Verified Release
| Task | Assignee | Risk | Original Estimate | Current Estimate | Elapsed | Remaining |
|---|---|---|---|---|---|---|
| Requirements | Mike Mast, TES1 | None | 100 | 100 | 0 | 100 |
| Code | Mike Mast | None | 24 | 24 | 0 | 24 |
| Test Cases | TES2 | None | 50 | 50 | 0 | 50 |
| Test Procedures | Mike Mast, TES1, TES2 | None | 186 | 186 | 0 | 186 |
| Requirement Review | TES2 | None | 80 | 80 | 0 | 80 |
| Code Review | TES2 | None | 24 | 24 | 0 | 24 |
| Test Case Review | TES1 | None | 40 | 40 | 0 | 40 |
| Requirements Coverage Analysis | Mike Mast | None | 8 | 8 | 0 | 8 |
| Test Procedure Review | Mike Mast, TES1, TES2 | None | 160 | 160 | 0 | 160 |
| Run-for-Score | Mike Mast | None | 8 | 8 | 0 | 8 |
| Structural Coverage Analysis | Mike Mast | None | 16 | 16 | 0 | 16 |
| Software Conformity Audit | Sherry Brunk | None | 8 | 8 | 0 | 8 |
| 'Back-end' Activities (SCI, SLECI, SAS) | Mike Mast | None | 8 | 8 | 0 | 8 |
| Verification Audit | Sherry Brunk | None | 8 | 8 | 0 | 8 |
| Totals | 720 | 720 | 0 | 720 | ||
Tasks For Milestone [6] SFS Verified Release
| Task | Assignee | Risk | Original Estimate | Current Estimate | Elapsed | Remaining |
|---|---|---|---|---|---|---|
| Requirements | John Kimball, Kutta1 | None | 80 | 80 | 0 | 80 |
| Code | John Kimball | None | 16 | 16 | 0 | 16 |
| Test Cases | Kutta2 | None | 40 | 40 | 0 | 40 |
| Test Procedures | John Kimball, Kutta1, Kutta2 | None | 80 | 80 | 0 | 80 |
| Requirement Review | Kutta2 | None | 64 | 64 | 0 | 64 |
| Code Review | Kutta2 | None | 16 | 16 | 0 | 16 |
| Test Case Review | Kutta1 | None | 32 | 32 | 0 | 32 |
| Requirements Coverage Analysis | John Kimball | None | 8 | 8 | 0 | 8 |
| Test Procedure Review | John Kimball, Kutta1, Kutta2 | None | 128 | 128 | 0 | 128 |
| Run-for-Score | John Kimball | None | 8 | 8 | 0 | 8 |
| Structural Coverage Analysis | John Kimball | None | 16 | 16 | 0 | 16 |
| Software Conformity Audit | Sherry Brunk | None | 8 | 8 | 0 | 8 |
| 'Back-end' Activities (SCI, SLECI, SAS) | John Kimball | None | 8 | 8 | 0 | 8 |
| Verification Audit | Sherry Brunk | None | 8 | 8 | 0 | 8 |
| Totals | 512 | 512 | 0 | 512 | ||
AFGS SFS Related Responsibilities
Define requirements for, and complete V&V of, AFGS specific SFS configuration information (i.e., registry and configuration file settings). SFS configuration information includes such things as: where is the NVM store located, What is the size of the NVM store that you wish the SFS to manage, Which processes have which access rights (RWD) to the SFS, etc.
Note: We (the SW COE) can answer questions and make suggestions (e.g., how other SFS users have addressed these issues in the past) but we (the SW COE) *can not* do this for AFGS. The table above captures hours with which the SW COE will provide assistance given the above constraints.
Risks
[1] SFS Performance
Mike & Bill have developed an adequate benchmark test for the SFS. This test shows that the best performance we can expect (utilizing nearly 100% of the CPU for *only* file system activity) is 250KB per second. The AFGS team must determine if this is acceptable or if a drastic redesign is needed to meet the 4MB per second goal.
MAL 4KB DMA Transfers
| Media | Access | Avg. uSecs | Bandwidth |
|---|---|---|---|
| RAM | Read | 362 | 10.8MB/Sec. |
| Write | 200 | 19.5MB/Sec. | |
| Compact Flash | Read | 410 | 9.5MB/Sec. |
| Write | 1500 | 2.6MB/Sec. | |
| 6200* (with 25ms issue) | 645.2KB/Sec.* (with 25ms issue) |
- *Note: "Occasionally" (about every 16th time - however no set pattern has been detected) the 4KB DMA transfer takes 25ms to complete.
1MB File FTP Get/Put - Current Overall Throughput
| Media | Access | Seconds | Bandwidth |
|---|---|---|---|
| RAM | Read | 13.4 | 76.4KB/Sec. |
| Write | 4.4 | 232.7KB/Sec. | |
| Compact Flash | Read | 17.2 | 59.5KB/Sec. |
| Write | 19.8 | 51.7KB/Sec. |
[2] CFFS Proof of Concept
Two tests were performed to measure the throughput of the CFFS. The first used a test application to perform multiple reads and writes of a 68MB block through the CFFS server interface to a San Disk 4GB Extreme III compact flash device. The second test measured throughput using FTP put and get commands with a 1MB file and our standard 411MB charts.bin. The results are in the following tables:
Test Application Read/Write Data
| Media | Access | Data Size | Seconds | Bandwidth |
|---|---|---|---|---|
| Compact Flash | Read | 68MB | 4.85 | 14MB/Sec. |
| Write | 68MB | 4.85 | 14MB/Sec. |
FTP Put/Get Data
| Media | Access | Data Size | Seconds | Bandwidth |
|---|---|---|---|---|
| Compact Flash | FTP Put | 1MB | 0.90 | 1.1MB/Sec. |
| FTP Get | 1MB | 22.5 | 46.6KB/Sec. | |
| FTP Put | 411MB | 318 | 1.3MB/Sec. | |
| FTP Get | 411MB | 10770 | 40.0KB/Sec. |
[3] Hardware Availability
We desperately need to get another unit directly accessible via the corporate LAN. Best case is that it would have an emulator attached which was also accessible via the corporate LAN. Once a DMA capable unit is received it should be placed on the Deos "target farm".