Building a Dual-CPU Behemoth from Used Server Parts, ft. CaseLabs & Old Xeons
Building a Dual-CPU Behemoth from Used Server Parts, ft. CaseLabs & Old Xeons
2019-06-28
we've had a project computer for the
last few months now actually arguably
closer to a year that's been our
behind-the-scenes obsession as a sort of
restoration project think of it like
restoring an old hot rod except it's a
dual socket xeon from the x79 era with a
case labs case by a company that's now
dead and an EVGA SRX dark motherboard
which has its own tragic history after a
lot of recent trips to watch on Bay in
China and some calls to manufacturers
we've managed to get this dual EFI 26.97
v2 system up and running and compressing
our video files daily but it's far from
done clearly because as you can see in
our be role it's not pretty
it is functional however and that means
it's time to run our dual Xeon system
and all of its 48 threads through our
CPU test bench one important note all of
this cpu test data is going to be older
as we ran these benchmarks back in march
when we built the thing originally and
it will be wiped and refreshed for the
rise in reviews so this won't carry
forward but we're gonna go through the
build process some of the cooler parts
in this machine give a bit of history on
it and talk about the performance in the
latter half of video but this is really
more of a project PC so let's enjoy the
process of trying to get the thing to
work before that this video is brought
to you by the EVGA gtx 1660 XC black
video card EVGA gtx 1660 XC black uses a
fat heatsink to allow the card to run at
lower noise levels for longer capable of
sinking more heat before the fan kicks
in and also has a day one at game ready
drivers for game launches the 1660 XC
black is short and compact for
installations a small form-factor pc
builds but if you need one that isn't
extra thick it's also accompanied by a
dual fan counterpart with a thinner
heatsink for standard dual slot support
learn more at the links in the
description below this content combines
a lot of cool things we have an
appearance of the tragic EVGA SRX aboard
that was purpose-built for overclocking
the Intel Xeon CPUs and would have been
the only dual socket board really
capable of it the board has seven PCIe
slots it has a big chip set and vrm
heatsink and a VR hammond bios that were
going to be prepared for overclocking
unfortunately the intel xeon cpus of
that gen
ended up being lakhs for overclocking
and so EVGA was stuck with an over built
at dual z on board that couldn't fulfill
its purpose what was meant to be EVGA
highest-end board was utterly sandbagged
a luxury overclocking platform for CPUs
that could not be overclocked we also
have the appearance of to high-end wants
high-end z/os a lot of the now very
affordable ECC memory appearing as well
and an off-brand motherboard from
Shenzhen so ignoring the massive case
that it's the systems on the table
because here in the massive case the
system overall is pretty cheap it's
pretty affordable
because you can get ECC memory ddr3
which is not expensive server companies
are dumping it on mass on eBay right now
and that's maybe we might have paid 200
bucks for 1866 64 gigabytes of memory on
there and then we also got the two CPUs
we end up with three of them we bought
two and then we had to ask Intel for a
third one because we were
troubleshooting an issue more on that
later and those are in the range of 200
to $300 each so you get two of them call
it let's call it 600 bucks on the high
end and then you can find a motherboard
and these are also a couple hundred
bucks max they might be cheaper now we
bought this a long time ago and then the
content just didn't work out but we're
here today so you can build a whole dual
socket system for relatively cheap
especially compared to the original
price and that is where this idea
started it was Patrick's idea to get
into he saw this motherboard and then
nothing ever worked
and so we spent several months just kind
of in our spare time tinkering with it
and getting it to work the motherboard
next to me is what started it but it's
not the one that we're using currently
we wanted to pull this server together
as a compression system to reduce our
footprint for storage requirements all
the video files so it does actually run
actively and compress videos now it's
working properly something that two
older Zeon's are actually really good at
despite the fact that today
realistically you could buy a ninety
nine hundred K or a 2700 X and both
would be far cheaper than even the used
parts that the two cpu is used with the
board and the memory and all that it
would probably be cheaper to buy a
modern CPU and use that if you're gonna
do something like gaming it'd be far
better for gaming frankly at a 1997 hard
K 9600 K
we'll talk about this later would blow
away these two CPUs so that's not really
the purpose but we didn't gave inventor
McHenry for fun the purpose is to see
how they do with production workloads
we'll throw a premiere in there as well
just because why not at this point in
one way this content piece began more
than a year ago when we picked up the
intel xeon e5 26 97 v2 freeze and our
production machine and we do have an old
video on that as well it was probably
about $500 at the time they are two to
three hundred dollars now it's a twelve
core 24 thread part which for the era
was very good this is circa 2011 213
range depending on the version of the
CPU and it was two thousand six hundred
eighteen dollars new so quite a discount
you knock an entire digit off of that
number for the modern pricing we didn't
put much more thought than that until a
few months ago when we well six eight
six months ago at this point when we
bought the dual socket board next to me
which is by a Chinese brand this is Juan
Angier and unfortunately I can only
speak in listen I can't I'm illiterate
for Chinese characters so you can help
me out in the commets with what the
characters say but I can read the
opinion and one on Jerry I think is just
South China made maybe or South China
something depending on the tone of that
jerk but anyway that's the board and
it's two sockets it's only four dimm
slots for a CPU that is quad channel so
it's kind of beats it's gonna be dual
channel for this board and it's compact
so that is where we started technically
it's not an X 79 board it's a C 600
series chipset because dual socket
Zeon's mean C 600 X 79 is for
enthusiasts single socket only chips
like the 49 60 X but X 79 is the name
that consumers are familiar with hence
the branding we were interested because
cheating the system by buying cheap old
decommissioned Zeon's is a perennial II
cool idea limited only by how expensive
old server motherboards are with
brand-new reasonably-priced dual socket
boards on the market the idea might
finally be practical
moreover the 26 97 B 2 that we already
owned is specifically capable of being
run and dual CPU systems so with a board
and one CPU already in our
session we were already two-thirds of
the way there for the bill or so we
thought the Quan Andrew board arrived
after a couple months then we purchased
a second 26 97 v2 off of ebay and
assembled the system
it didn't boot everything worked with
either CPU in the primary socket but
nothing can persuade the system to boot
with both sockets filled there's an LED
display with post codes but since it's a
Chinese board with no manual that was
presumably assembled from repurposed
server hardware and most of the
instructions were in Chinese which again
can't read the characters we didn't know
where to look up the post code any code
tables that we did manage to find would
list that code as quote reserved for
future use
ominous normally we have more than
enough hardware to replace one part at a
time and figure out the problem but we
only had two of the LGA 2011 Zeon's and
one dual socket board to tasked with and
a whole lot of question marks our
original CPU the one we used for editing
was an Intel engineering sample that we
bought on eBay you aren't supposed to
sell engineering samples but someone did
normally that'd be fine but the S spec
of the consumer and sample CPS are
different and that could be causing some
kind of problem in a system that's
looking for two identical processors the
solution here would be to buy yet
another s or well en aspect SR 19h the
Han answer board might not be compatible
with Ivy bridge-e processors at all was
another one of our thoughts something
that we were able to validate later
compatibility lists for the board we
bought we're limited to whatever the
reseller happened to test so even though
the socket matches in the c6 no two
chips that can't support the CPU we
thought it might still need a BIOS
update to do so again there was no place
we could download a manual or BIOS
update just a CD of drivers sent with
the board the solution here would be to
buy a new motherboard that explicitly
supports dual Xeon 26 97 v 2zv is since
the motherboard this one was the
sketchiest the link in the chain the
board we bought off Aliexpress with no
real BIOS updates available online we
ended up deciding to replace that one we
got a new board first and we could have
gone straight to server hardware but we
wanted something that could be argued as
a more gaming targeted and so we picked
up a board with a lot more PCIe slots we
also wanted some
that might have some overclocking
potential if we could break the Zeon
lock and also something that looked a
bit better than the WoW orange-and-black
of this one so in pursuit of this we
turned up one promising result the EVGA
SRX motherboard the SRX was the follow
up to EB J's popular SR 2 SR stands for
super record and the older dual socket
LGA 1366 board was a success amount
overclockers especially EVGA resident
overclocker kingpin we saw one in our
recent tour of his lab something he ran
with seven LNG pots in the day at a
minimum sometimes more for the RAM and
there was one for the chipset two for
the CPUs four for the GPUs and a lot to
manage it was the most complicated thing
that kingpin has ever managed for
overclocking he told us and although he
seemed to look back on it fondly he also
told us that he didn't miss the
complexity EVGA even put together a
video called quote fastest system on
planet earth that looks more like it's
from the 90s than from 2010 but it does
give perspective of how old the sr2 is
these days the SRX though came after
that
despite the SRX being locked now all
these years later the SRX fit our needs
perfectly
and the most recent BIOS revision
specifically lists support for our CPUs
we contacted Jakob at EVGA and asked if
he remembered the SRX which was met with
a sigh and the drawn-out yeah for an
idea of why that was the response check
out this 2012 overclock net thread where
he was trying to gently manage the
expectations of excited overclockers
before the launch
they had one board left and it was an
old RMA that had been sitting in the
warehouse he updated one of the three
BIOS is on the board to the one that we
needed and sent it over to us luckily he
didn't overwrite the BIOS that someone
either the RMA customer or an EVGA
attack had modded with a bad luck Brian
macro top text successfully makes BIOS
skin bottom text EVGA SRX that's a
pretty good summary of the reception
this board got if a bit depressing
we connected everything up as before and
had the same postcode again reserved for
future years so again a couple potential
culprits the same issue could have been
true
before with the engineering sample CPU
or this was a dud board and that seems
I'm likely given that it was failing
exactly the same way as the other board
it boots fine with one CPU alone and it
breaks with two but still there must
have been a reason it got are made so it
was a possibility and we really wanted
to make this work so we finally broke
down and contacted Intel and asked if
there could be a problem with running
the engineering sample with a consumer
sample CPU and the answer was maybe so
after some back-and-forth with Intel
having to find someone still who worked
internally who could also remember these
CPUs we did end up just getting a second
sample from Intel that they happened to
have lying around contrary to popular
belief Intel does not have stacks of
CPUs on their desks to send out so
someone actually went and found this
thing for us and it's an SSR 19h CPU
it's a consumer CPU so that would
resolve what we thought was our last
variable we really wanted to make this
work even though the 12 core Xeon is
worse than cheaper Intel CPUs that are
made today like the 9900 K the point is
that we wanted to use two of them in a
cool motherboard with the case from a
dead company and build an interesting
computer that's all we wanted when we
started this we reached out to EVGA
again and we're told that our post code
related to memory memory on the SRX is
tricky there are 12 slots for per CPU
plus 4 extra on the primary CPU and the
filled slots are supposed to be mirrored
between the two CPUs which was
complicated by the fact that we didn't
have eight identical sticks of memory
lying around
we began googling solutions again and
hit this forum thread that we can put on
the screen of the EVGA forum from only a
few months ago against all odds'
two other people on the planet we're
having exactly the same problem and
hello to those of you who were and they
solved it one of the accounts is seven
years old and it's only made two posts
both in this thread from a few months
ago apparently even though these boards
were fully intended to be compatible
with non-ecc memory and even though one
CPU will boot with non-ecc memory there
is an issue that keeps pairs of a 526 97
v 2 CPUs or possibly just Ivy bridge-ep
CPUs in general from booting with
non-ecc memory this is speculation but
it might be because the 26 and
7v2 launched in quarter three 2013 by
which time it was well apparent that
supporting the SRX was a waste of e
BGA's time we bought two Ram kits first
a cheap four stick kit have 1600
megahertz memory just to make sure the
board would boot which it did and then a
64 gigabyte 8 stick 1866 megahertz kit
the SRX needs at least eight sticks to
enable quad channel memory or well quad
channel the memory itself is is not
channel dependent but quad channels on
the motherboard is it needs eight sticks
with the SRX so for per CPU at last
after multiple months two motherboards
three CPUs and herbal sticks of RAM to
power supplies and at least three GPUs
we had found a combination of hardware
that would work let's go to the testing
finally we ran our standard series of
CPU tests from march on the board that
it's old data keep in mind
and first it was with four sticks of
1600 megahertz memory in dual channel on
one board and using EVGA s default CL 10
timings for the s or X which are tighter
than the sticks are rated for presumably
this was intended for non-ecc memory but
we tried it out anyway and then we
tested with the 1866 megahertz quad
configuration with CL 13 timings as
listed on these sticks and then one last
time with a 104 megahertz BC LK this was
the best we could do for overclocking
sadly so that put us at 19 40 megahertz
memory BJ's table of CL 11 timings and
we would normally use a pair of or while
our standard 20 400 megahertz HyperX kit
for this testing on old boards but it
doesn't work because it's not ECC so
then raising the base clock beyon stock
unfortunately breaks i/o it actually
breaks Ethernet and it breaks almost all
the USB ports as well and also a lot of
other things so BC LK overclocking on
this not the best solution but we tried
it anyway
104 megahertz for that let's get into
the data finally and see if any of this
was worth it our blender benchmarks with
the GN in-house made monkeyhead render
is up first giving us realistic
workloads that leverage various effects
within blender we haven't yet read
benchmarked any Intel X 299 CPUs and so
that 2990 WX has remained relatively
uncontested at the top of the
sharp until now that is the 26 97 V
two-by-two configuration lands us at an
impressive 13 point 2 min at render time
with either of the two primary memory
options blender really doesn't care much
about memory latency and focuses
entirely on core account which is what
we're seeing here if we sacrifice our IO
in favor of a higher B clock we end up
with a twelve point six minute render
time the 2990 WX runs with just a 13.5
percent render time reduction which
considering the tremendous age
difference between these processors and
the cost of to use 26 97 s it's really
not bad this also positions the 26.97 v2
by twos thirteen point two minute render
time as improved over the 9900 case
stock result by 36% and over the 9900
KOC 5.2 gigahertz results by 22 percent
in this instance the 9900 K board and
CPU would cost less than the dual xeon
set up and so does well to maintain
proximity with its lower overall thread
count and cost still I used 26 97 B to
system is looking good in these initial
tests with the GN logo ray-traced render
the 26.97 v2 by 2 has more difficulty
keeping up with the 2990 WX now allowing
the 2990 WX a massive time requirement
reduction of 49 percent versus the 26 97
v2 with the 1866 megahertz memory
configuration this has to do with the
complexity of the scene rendered and is
precisely why we use these longer render
times and varied scene complexities for
benchmarking this allows us to better
find where processors have weak and
strong points and for the 26.97 v2 it
struggles in the GN logo render when
using it more modern instruction sets in
blender because while the 26 97 VT
doesn't have all of them the 9900 K ends
up at 26 minutes for the render time
with the 26 97 v2 leading the modern eye
9 a family that didn't even exist when
the 26 97 launched with the reduction of
31 percent given that we're running a
total thread count three times higher
than the 9900 K but with lower
frequencies this all makes sense
blender wouldn't be a bad use case for a
system like this that you'd probably
want to have a good lead on cheap parts
or already have some of them in hand
memory for these systems is low cost
thankfully as we got 64 gigabytes
for under $200 but it is slower ddr3 the
potential upside is that it's also ECC
which this processor supports and which
has value add for some users for the
right use case given these blender
results we have a promising start for a
used dual CPU hot rod system GCC code
compiled with cygwin is next we have
some other tests that will publish
shortly with mingw but these looks at
the cygwin compile tests of GCC for
today's benchmark we explain this test
more in our workstation benchmarking
methodology update that we published
recently on the channel and on gamers
nexus net the twenty six ninety seven v
2x2 does well here positioning itself in
a highly competitive spot with the
twenty nine ninety WX modern era thirty
core cpu
although frequencies are much closer
between these two then between the 26.97
v2 and the ninety nine hundred k the
twenty six ninety seven v 2x2 ended up
completing the test in four point six
minutes allowing thread rippers four
point three minute result a time
reduction of just 6.5 percent or a 17
percent time reduction when using Core
Praia the 26.97 be 2x2 results it's hard
to be mad at though because it's ahead
of every other modern processor on the
benchmarks and that includes the 2700 at
4.2 gigahertz and the 9900 K for
reference as for why AMD does so well
here we'll talk about that more in our
separate piece exploring compiled
workload performance in our benchmarks
this is a great start for the 26 97 V 2
by 2 system for a blender and GCC we
clearly have some real use cases that
aren't even forced like a lot of other
old system builds might be chaos groups
v-ray is next in this render worth of
the 26 97 b2 fails to impress sadly it
does reasonably well and for its time it
would have been among the best systems
by a longshot but age is showing as the
9900 K begins to match performance for
cheaper and with better versatility and
frequency bound applications like
Photoshop or gaming the 26 97 v2
overclocked with no IO functional really
in the back of the board
takes a 0.9 8 minutes or about 59
seconds to completely render with a 5.8
gigahertz in 9900 K completing the same
workload in 0.9 5 minutes
the 2990 WX holds a strong lead here and
it's probably time weary bench the X 299
CPUs think of it some competent
the charts the 2690 7v2 is ahead of the
900k stock result but the slow frequency
of intel's older processor is holding it
back Adobe Premiere is another one of
our in-house workloads we explain these
tests in our CPU workstation methodology
video we use a 1080p 60 HT 6 for RNG
encode which is a show floor report
comprised entirely of a roll and b-roll
and we also use a 4k 60 a roll and
b-roll review render you learn more
about these settings in our methodology
section and the previous article that
was published with the video the 1080p
60 convention shot render has the 1900 K
at 5.1 gigahertz leading at 3.6 minutes
to render this would be further
emboldened if enabling Hardware encoding
with the IGP and option that from here
added in the last two years because this
actually does boost performance in a
noteworthy fashion still even without it
we see premieres love for both threads
and frequency in this benchmark the 26
97 b2 does a lot better than we had
expected frankly with @id results when
overclocked unsustainably to 104 b CL k
or a 3.7 eight-minute result under stock
conditions with 1866 megahertz quad
channel memory configured stepping down
from quad channel to dual channel and
1600 megahertz actually did hurt
performance with a render time increase
of 6.6 percent
things changed when we moved to the 4k
60 render and the 26 97 v2 system with
both of its CPUs actually manages to
pull ahead of the 99 hundred K both
overclocked and stock with the 26 97
using 1860 megahertz memory in quad
channel configuration on the board if we
were to run a 99 ATX e through here as
we did last year in that review it be
the chart leader but the cost goes up
significantly for such a build this
shows that the 26 97 B 2 by 2 system
could be reasonably used as a backup
renderer for our office or other premier
workloads Photoshop is next with
Photoshop CC 2019 we use a mix of
filters transform scales resizes and
effects applied to large images through
puget spent working suite photoshop very
clearly has a strong bias towards
high-frequency processors exhibited here
in the 9900 K is a 5.8 gigahertz results
right alongside the 9700 K is 5.1
gigahertz results the fact that the 9700
K can keep up clock for clock with a
processor running twice the thread count
helps illustrate
propensity for leveraging frequency it
should come as no surprise then that the
26 97 v 2 by 2 system performs truly
horribly in this workload it's a letdown
really as even at a 1,700 and the 80 600
K stock are outperforming it the cores
and threads just don't get used here
7-zip is next and is measured in
millions of instructions per second with
higher being better the compression is
the first test positioning the 2990 w
acts and an incredible lead although
again uncontested by X 299 at this time
with nearly 200,000 M IPs the 26 97 V 2
is the first processor we've run through
this bench to approach the 2990 W X
although the AMD spreader per processor
still holds a lead of about 51 percent
that stated Andi does particularly well
in decompression so this will change
with compression the cnidaria I heard K
in the decompression workload is far
behind the 26 97 V 2 by 2 showing that
there is potentially another use case
for this configuration that you'd want
to find the parts for cheap to be worth
while for reference the 2700 at 4.2
gigahertz ends up around just past the
halfway mark at 80 6700 myths and
between the 2700 X and 90 100 K at 5.2
gigahertz with the stock 9900 K below
the 2700 AK stock cpu the compression
benchmark run really benefits the 26 97
V 2 which is perfect for us
aside from transcoding old video files
into smaller formats we can also use the
26 97 V 2 systems that compress archives
test data or text files or images or
anything else on the server into
hopefully slightly smaller formats this
allows us to recover the data if we ever
need it especially those massive amounts
of CSVs but it allows us to keep it
small enough that the footprint is
minimized with the 1866 megahertz quad
channel configuration the 26 97 V 2 by 2
runs at 80 5500 mips and boost to 91
thousand when B clock is pushed to 104
on the EVGA SRX Intel I $9.99 hundred K
is next closest with its 5.2 gigahertz
run allowing the 26 97 V 2 by 2 is a
lead of 29% thread Ripper and the twenty
nine ninety WX end up toward the bottom
of the charge struggling to keep up in
this more latency intensive workload
moving into games we'll start to see the
real deficit of the 26 97 be 2 by 2
systems in the modern
age and that's primarily going to be
frequency shadow of the Tomb Raider at
1080p post the 26 97 be 2x2 at 90 FPS
average with low as reasonably well
spaced at 60fps and 50 fps 1% in 0.1
percent lows the downside though is that
it's doing worse then even an r5 2600 so
don't get us wrong the r5 2600 is a good
CPU but it's also 154 dollars and 12
threads the 26 97 is older architecture
slower frequencies and dated memory are
holding the 2 CPUs back besides it's not
like games play particularly well with
high core count CPUs or dual socket
systems to begin with as the 2990 WX
high court count CPU both stock and with
Corp Ryo illustrates clearly in this
very benchmark GTA 5 at 1080p is next at
1080p the GTA 5 been apart positions the
Intel i5 CPUs at the very bottom of the
charge far far away from anything else
at all they're bad really bad GTA 5 just
does not like this combination of
hardware to the extent that you'd be
much better off buying probably an i3 at
the high end but definitely an i5 or R 5
for this game like the 2600 or 86 out of
K both which are also in the process of
aging that said this is clearly not a
build meant for gaming it's just not one
that you'd necessarily want to even game
on even on the side it may be better to
go with a second system for that task if
doing something like this or disabling
one of the CPUs when gaming 1440p
doesn't help things here just by pushing
the load onto the GPU the 26 97 B 2 by 2
it still runs under 60 FPS average here
with the r7 1700 positioned far ahead at
just 75 FPS average and that's not even
a great result on this chart as
discussed in our CP methodology update
for game civilization 6 has gotten
enough updates that it has routinely
wiped our data set for testing civis 6
testing uses turn times instead of FPS
looking at the time requirement for AI
to process a single turn note that with
more AI players at longer turns would
start to add up significantly so this is
a useful metric to understand the 26 97
V 2 by 2 system does poorly here with a
56 second turn time requirement on the
1866 megahertz quad channel
configuration there isn't even much test
variants here it's just 55 seconds for
all 15 of the turns completed and this
means that with 5 AI players
you'd be waiting nearly five full
minutes for your next turn which is
agonizing in a turn-based strategy game
the 9900 K takes about 30 seconds per
turn with the 9700 K at 5.1 gigahertz
taking a similar amount of time there's
a lot of value to frequency in this
benchmark which is made clear by the
firm division between AMD and Intel in
the charge where higher frequency intel
parts always take the lead the 26 97 b2
is a low frequency part though and also
oddly configured for games in the 2
socket build making it overall a poor
choice for this game for total war
Warhammer - and the battle benchmarks
the Intel a 526 97 V 2 by 2
sadly performed nearly the worst on the
charts once again landing at under 60
FPS average this puts it far below the
1700 which was the previous slowest
processor on the benchmark the 2990 WX
does much worse to be fair at under 20
FPS average 1 stock this game really
hates the 2990 WX but turning game mode
on and disabling half the cores helped
significantly we have more games that
we've tested but we'll leave it here
it's the same story repeated across the
next four games with the 26 97 v2 by to
build always performing among the worst
on the charts this is obviously a
workstation build anyway so that's ok
for our purposes so that's the build for
the gaming tasks obviously it's not the
best for handbrake which we didn't
include here for our transcoding it's
really good so we just run handbrake in
the background all the time it's a lot
faster than the 8086 case over clocks we
used to run it on because it actually
leverages the CPUs and there's 24
threads on each CPU so we've got 48 we
can run handbrake and compress the hell
out of our videos that we we don't want
taking up all of our space when it's
just b-roll files and stuff and it works
out very well for that actually but
again you'd be better off with modern
parts that are about the same price
after you count all of the various
things we had to buy or ask for to do
this but it was still a lot of fun and
we still want to do more with this so we
have some ideas for a custom modifying
the enclosure or at least doing a cool
liquid cooling build in it and we'll
talk about that more later also I was
told while filming this by our Chinese
teacher that the name means South China
Gold or maybe South China Gold Medal
depending on how you interpret it so
anyway that's that's what that company
is thank you for watching and let us
know if you find this kind of I don't
even know what it is restoration content
interesting we might do more of it
subscribe for more go to
patreon.com/scishow sexist or stored I
Kara's axis dotnet supports directly
where we have the new toolkit I'll see
you all next time
We are a participant in the Amazon Services LLC Associates Program, an affiliate advertising program designed to provide a means for us to earn fees by linking to Amazon.com and affiliated sites.