Path: csiph.com!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!eternal-september.org!.POSTED!not-for-mail From: Lynn Wheeler Newsgroups: comp.arch Subject: Re: Is Parallel Programming Hard, And, If So, What Can You Do About It? Date: Sun, 18 May 2025 14:10:00 -1000 Organization: Wheeler&Wheeler Lines: 32 Message-ID: <87sel1jw9z.fsf@localhost> References: <0ec5d195f4732e6c92da77b7e2fa986d@www.novabbs.org> <2025May13.094035@mips.complang.tuwien.ac.at> <1000nfp$2440u$1@dont-email.me> <1000pae$3uvs3$3@dont-email.me> <100bdhq$lhdb$3@dont-email.me> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Injection-Date: Mon, 19 May 2025 02:10:03 +0200 (CEST) Injection-Info: dont-email.me; posting-host="ac21c3cfc563a0578d7061a81bfb0dbb"; logging-data="1319971"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/xKpFepLCCKuMkF/UyZRa/taPqtuHqJ28=" User-Agent: Gnus/5.13 (Gnus v5.13) Cancel-Lock: sha1:sqCbAEFF0zAVilXMfcDbldYbmLY= sha1:WrfZIrRk4mEfQBkP6NnYqZe9EUE= Xref: csiph.com comp.arch:111630 Lawrence D'Oliveiro writes: > Think of what a cache is for in the first place. The only reason they work > is because of the “principle of locality”. This can also be expressed as > saying that typical patterns of data access by application programs follow > a Pareto distribution, less formally known by monikers like the “80/20 > rule” or the “90/10 rule”. IBM "added" full-track "-13" cache to 3880 dasd control for 3380 disk (ten records/track) ... claiming 90% "hit rate". Issue was that there was a lot of sequential file reading ... the 1st record read for track would be a "miss" but bring in the whole track, resulting in the next nine reads being "hits". system services offered option for application doing sequential i/o to specify full-track i/o (into processor memory) ... which would result in the zero hit rate for the controller cache (IBM standard batch operating system did contiguous allocation on file creation). About the same time, we did system mod. that did highly efficient trace/capture of every record operation which was deployed on numerous production systems. Then traces were fed to sophisticated simulator that could vary algorithms, caches, kinds of caches, sizes of caches, distribution of caches, etc. Given a fixed amount of cache storage, it was always better to have a global system cache ... than partitioned/distributed; except a few edge cases. Example, if device track cache could be used to immediately start transfering data, rather having to rotate to start of track before starting transfer. -- virtualization experience starting Jan1968, online at home since Mar1970