9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: erik quanstrom <quanstro@quanstro.net>
To: 9fans@cse.psu.edu
Subject: Re: [9fans] GCC/G++: some stress testing
Date: Mon,  3 Mar 2008 19:49:34 -0500	[thread overview]
Message-ID: <e5fd64b10649d021200d21bbefce1614@quanstro.net> (raw)
In-Reply-To: <1204515076.27006.173.camel@goose.sun.com>

> In fact the more I think about it, the more it seems like having
> a direct way of manipulating L1/L2 caches would be more of a benefit
> than a curse at this point. Prefetches are nothing but a patchwork
> over the fundamental need for programming memory hierarchy in an
> efficient way. But, I guess, there's more to it on the hardware side
> than just crafting additional opcodes.
>

really?  to out-predict the cache hardware, you have to have pretty
complete knowlege of everything running on all cores and be pretty
good at guessing what will want scheduling next.  not to mention,
you'd need to keep close tabs on which memory is cachable/wc/etc.
maybe system management mode makes too much of an impression
on me.  but on an intel system, there's on way to prevent the cpu/bios/ipmi
from issuing an smm interrupt anytime it pleases and taking over
your hardware.  my conclusion is we don't have as much control
over the hardware as we think we do.

> > decompositions that keep the current working set in cache (at L3, L2,
> > or L1 granularity, depending), while simultaneously avoiding having
> > multiple processors chewing on the same data (which leads to vast
> > amounts of cache synchronization bus traffic).  Successful algorithms
> > in this space work on small bundles of data that either get flushed
> > back to memory uncached (to keep more cache for streaming in), or in
> > small bundles that can be passed from compute kernel to compute
> > kernel cheaply.  Having language structures to help with these
> > decompositions and caching decisions is a great help - that's one of
> > the reasons why functional programming keeps rearing its head in this
> > space.  Without aliasing and global (serializing) state it's much
> > easier to analyze the program and chose how to break up the
> > computation into kernels that can be streamed, pipelined, or
> > otherwise separated to allow better cache utilization and parallelism.

aren't these arguments for networked rather than shared memory
multiprocessors?

- erik


  reply	other threads:[~2008-03-04  0:49 UTC|newest]

Thread overview: 78+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-03-01  4:55 lucio
2008-03-01  6:02 ` Eric Van Hensbergen
2008-03-01  6:25   ` lucio
2008-03-01  6:39   ` Lyndon Nerenberg
2008-03-01  6:52     ` lucio
2008-03-01  6:59       ` Lyndon Nerenberg
2008-03-01  7:42         ` lucio
2008-03-01  7:56           ` Lyndon Nerenberg
2008-03-01  7:11     ` ron minnich
2008-03-01  7:29       ` Lyndon Nerenberg
2008-03-01 16:40         ` ron minnich
2008-03-01 16:50           ` Bruce Ellis
2008-03-01  8:14       ` lucio
2008-03-01 11:13         ` hiro
2008-03-01 11:47           ` [9fans] intellect? Lyndon Nerenberg
2008-03-01 11:51             ` Lyndon Nerenberg
2008-03-01 11:53             ` Charles Forsyth
2008-03-01 12:11             ` hiro
2008-03-01 12:37               ` hiro
2008-03-01 16:22     ` [9fans] GCC/G++: some stress testing Eric Van Hensbergen
2008-03-01  7:12 ` ron minnich
2008-03-01  7:32   ` Lyndon Nerenberg
2008-03-01 11:49 ` Charles Forsyth
2008-03-01 11:58   ` lucio
2008-03-01 18:15   ` don bailey
2008-03-01 18:24     ` erik quanstrom
2008-03-01 20:19     ` lucio
2008-03-01 21:36       ` ron minnich
2008-03-02  1:07         ` Paul Lalonde
2008-03-02  4:28           ` ron minnich
2008-03-02  8:03             ` Bruce Ellis
2008-03-02 11:12           ` Charles Forsyth
2008-03-02 16:21             ` Paul Lalonde
2008-03-02 18:59               ` erik quanstrom
2008-03-02 20:34                 ` Paul Lalonde
2008-03-02 22:00                   ` Philippe Anel
2008-03-03  3:19                     ` ron minnich
2008-03-03  9:12                       ` Philippe Anel
2008-03-03  3:25                     ` Paul Lalonde
2008-03-03  9:12                       ` Philippe Anel
2008-03-04  2:31                         ` Paul Lalonde
2008-03-03  3:31                   ` Roman V. Shaposhnik
2008-03-04  0:49                     ` erik quanstrom [this message]
2008-03-04  2:17                       ` Paul Lalonde
2008-03-04  4:52                         ` erik quanstrom
2008-03-04 10:57                     ` Paweł Lasek
2008-03-04 14:57                       ` ron minnich
2008-03-04 15:55                         ` Philippe Anel
2008-03-04 18:27                           ` ron minnich
2008-03-04 18:00                       ` Roman V. Shaposhnik
2008-03-07  5:21   ` lucio
2008-03-07 10:21     ` Russ Cox
2008-03-07 11:15       ` Pietro Gagliardi
2008-03-07 18:49         ` Skip Tavakkolian
2008-03-07 18:55           ` lucio
2008-03-07 17:22       ` lucio
2008-03-01 14:45 ` lejatorn
2008-03-01 14:49   ` Pietro Gagliardi
2008-03-01 15:17     ` lucio
2008-03-01 16:35       ` Pietro Gagliardi
2008-03-01 16:41       ` ron minnich
2008-03-01 16:53         ` Bruce Ellis
2008-03-01 17:13           ` ron minnich
2008-03-01 20:29             ` geoff
2008-03-01 21:36               ` ron minnich
2008-03-01 22:29                 ` Bruce Ellis
2008-03-04  7:35         ` Lyndon Nerenberg
2008-03-01 15:02   ` lucio
2008-03-01 16:31     ` Eric Van Hensbergen
2008-03-01 17:52     ` lejatorn
2008-03-02 17:57     ` sqweek
2008-03-02 18:22       ` lucio
2008-03-02 20:56       ` cinap_lenrek
2008-03-09 17:53 Aharon Robbins
2008-03-09 17:57 ` Bruce Ellis
2008-03-09 18:28 ` Pietro Gagliardi
2008-03-09 19:17   ` erik quanstrom
2008-03-09 19:22   ` Skip Tavakkolian

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=e5fd64b10649d021200d21bbefce1614@quanstro.net \
    --to=quanstro@quanstro.net \
    --cc=9fans@cse.psu.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).