En nylig artikel fra Microsoft i IEEE Computing, \ "Server Engineering Insights for Storstilet Online Services \" (PDF), har overraskende detaljerede oplysninger om de systemer der kører Hotmail, Cosmos (Microsoft's MapReduce / Hadoop), og Bing.
For eksempel beskriver artiklen omfanget af Hotmail data som \ "flere petabytes ... [i] titusinder af servere \" og den typiske Hotmail-serveren som \ "dual CPU ... to vedlagte diske og en ekstra lagerplads kabinet indeholder op til 40 SATA-drev \ ". Den typiske Cosmos serveren tilsyneladende er \ "dual CPU ... 16 til 24 Gbyte hukommelse og op til fire SATA-diske \". Bing bruger \ "flere titusinder af servere \" og \ "hovedhukommelsen af tusindvis af servere \", hvor en typisk server er \ "dual CPU ... 2 til 3 Gbyte pr core ... og 03:58 SATA diske \ ".
Bortset fra at afsløre, hvad der synes at være nogle tidligere frigivet detaljer om Microsofts klynge, kunne artiklen være interessant på grund af indsigt i udførelsen af disse klynger på Hotmail, Bing, og Cosmos arbejdsbyrde. Desværre artiklen lider under for meget for givet, ikke at udforske de komplekse samspil mellem CPU, hukommelse, flash-hukommelse og disk i disse klynger på disse arbejdspres, og ikke forsøger at forklare de mange mærkværdigheder i dataene.
Disse mærkværdigheder er sjovt at tænke selv. At tage et par, der fangede min opmærksomhed: Hvorfor er Bing servere CPU bundet? Er det fordi, som forfatterne beskriver, Bing bruger \ "datakomprimering på hukommelse og disk data ... forårsager ekstra behandling \"? Skal Bing gøre så meget data kompression, at det bliver bundet CPU (når Google, ved sammenligning, bruger hurtigt komprimering)? Hvis noget andet er årsag Bing servere til at være bundet CPU, hvad er det? Under alle omstændigheder giver det mening for Bing \ "back-end tier servere, der bruges til indeks opslag \" at være CPU bundet? Hvorfor Bing servere har kun 4-6G RAM hvert ikke har mere hukommelse, når de for det meste ønsker at holde indekser i hukommelsen, synes at være at ramme disk, og \ "ikke er bundet af hukommelse båndbredde \"? Selv hvis rubrikkerne er CPU bundet, selv om det en eller anden måde giver mening for dem at være CPU bundet, ville mere hukommelse på tværs af klyngen tillade dem at gøre ting (som hurtigere, men svagere komprimering), der ville lette presset på de CPU'er? Hvorfor er Cosmos (partiet-baserede log system) CPU bundet i stedet for I / O-bundet? Giver det mening? Hvorfor Cosmos bokse har mere den samme hukommelse end som Bing bokse når Cosmos er designet til sekventiel data adgang? Hvad er grunden til, at Cosmos \ "tjenester bevare meget af deres data i [Random Access] memory \", hvis de ligesom Hadoop og MapReduce er beregnet til sekventiel log behandling? Hvis Hotmail er for det meste \ "random anmodninger \" med \ " ubetydelige \ "lokalitet, hvorfor er det bygget op omkring sekventielle data adgang (mange diske) snarere end tilfældige adgang (DRAM + flash-hukommelse)? Måske grunden til, at Hotmail er \ "opbevaring bundet under spidsbelastninger \" er at det bruger sekventielle opbevaring til sine tilfældigt adgang data? Tanker?
Update: En anonym kommentator påpeger, at Bing servere formentlig er to quad core CPU'er - otte kerner i alt - ja, selv om der kun er 2-3G per kerne, der sandsynligvis er en total af 16-24G RAM per kasse. Det gør mere mening og ville gøre dem svarer til Cosmos kasserne.
Selv med den større mængde hukommelse pr Bing kasse, spørgsmål om maskinerne stadig holder. Hvorfor er Bing bokse bundet CPU og skal de være? Skulle Cosmos kasser, som er beregnet til sekventiel log forarbejdning, har samme hukommelse som Bing kasser og afholder en stor del af deres data i hukommelsen? Hvorfor er Cosmos maskiner CPU bundet i stedet for I / O-bundet og skal de være?
Update: Interessant diskussion foregår i kommentarerne til dette indlæg.
Abonner på:
Kommentarer til indlægget (Atom)
Ingen kommentarer:
Send en kommentar