Caches have no trouble with long vectors (or short ones, for that matter).
They don't provide any advantages, but they are not a problem.
Caches do have trouble with indirect vectors that have poor spatial locality.
Perhaps surprisingly, many of the prototypical examples of algorithms that
make heavy use of indirect vectors perform reasonably well on cached systems.
In unstructured mesh codes, for example, the indirection vector contains
information about "nearby" points, so with good node numbering there is an
excellent chance that most of the data elements in a cache line will be used
before the line is evicted.
Bandwidth is a different problem, of course, as noted above.
Example 1: for the STREAM benchmark running on a Xeon E5-2680 (Sandy
Bridge EP), one socket sustains about 38 GB/s. The STREAM Triad kernel
requires 12 Bytes of memory traffic per FP operation (24 Bytes per multiply-
add), so this corresponds to 3.167 GFLOPS. The Sandy Bridge core can
execute four 64-bit multiply-add pairs per cycle, so one core running at
0.8 GHz could handle the arithmetic for the whole chip.
Example 2: The Intel Xeon Phi SE10P can sustain up to 174 GB/s on STREAM
Triad, corresponding to 14.5 GFLOPS. Each of the 61 cores on the Xeon Phi
SE10P has a peak performance of 17.6 GFLOPS for 64-bit multiply-add operations,
so only one core would be required to handle all the arithmetic.
STREAM is intended to be an extreme, but not pathological, test case.
All of the data in the cache lines is used, but used only once.
The "balance" parameter is 2 FLOPS / 3 Words = 0.67.
The ocean models that I was running when I developed STREAM tend to have
a little bit of re-use, with "balance" parameters in the range of
2 FLOPS / 1 Word = 2.0 --- about 3x the computational intensity of the
STREAM Triad kernel.
(Typical hardware platforms have corresponding "balance" parameters of
30-50 FLOPS / Word.)
Latency has scaled much more slowly than bandwidth. On the Xeon E5-2680,
I measure about 77 ns local memory latency, which corresponds to ~208
cycles at the nominal 2.7 GHz, or ~1660 64-bit floating-point operations.
As far as supercomputers are concerned, a major factor in the demise of
the traditional supercomputers was price. Cray vector systems had prices
in the $1M per processor range. These were largely displaced in the 1990's
by RISC-based servers with prices in the range of $25k-$50k per processor.
Since ~2004 the market has been dominated by clusters of systems based on
x86-64 processors, with prices that have stayed fairly flat at $2000-$3500
per socket.