Hydra schreef op vrijdag 11 april 2008 @ 14:42:
Nouja, bedrijven nemen een prijs/prestatie over het algemeen mee in het bepalen welke systemen mensen krijgen. Hoe zwaar je systeem is, is nogal afhankelijk van wat je moet draaien. Ik ga er vanuit dat een bedrijf je, als je hard kan maken dat je het nodig hebt, best een quad-core wil geven.
Ik vind het een beetje raar dat er bedrijven zijn die kennelijk een paar tientjes op de workstation van een developer zitten te besparen? Een beetje vreemd, want developers zijn tegenwoordig aardig duur en schaars. Bij ons zijn ze ook zeker niet super gul, maar krijgt elke nieuwe developer default een vrij standaard Dell Precision T3400 met een Q6600 (dat is dus een quadcore) en 2GB ram. Vrij basic en recht toe recht aan ding. Net even opgezocht wat zo'n machientje kost, en dat is 862,-.
Ik proef een beetje uit jouw verhaal dat jij dat een overdreven zware machine vind voor een developer, maar als je op zo'n marginaal bedrag nog gaat lopen te besparen dan weet ik het ook niet. Dit is bij ons echt de basic config. Voor specialistische taken worden er wel zwaardere workstations ingezet.
Ook in mijn ervaring geeft een quad voor veel ontwikkeling taken voordelen. Je local DB, je local AS, je unit testen op de achtergrond, de real-time compilation die telkens op de achtergrond plaats vind, etc etc. Alles gaat een stuk soepeler en je developers zitten minder lang te wachten op een traag systeem. Als de IDE na een save van je file net even die seconde eerder reageert en je local AS een paar seconden sneller gerestart is , dan geeft dat al een enorme winst. En dan voor dat luttle bedrag als hierboven genoemd? Waar hebben we het helemaal over?
Je had het over een workstation van een developer. Het lijkt me logisch dat je een testomgeving wilt inrichten die 'nut' heeft. Een volledige productieomgeving dupliceren zal over het algemeen niet gebeuren vanwege de kosten
Het hangt natuurlijk sterk af van de grote van het system wat in productie draait. Zo hebben wij b.v. 1 applicatie in productie draaien waar goed mee verdient wordt, en waarvan de servers waar het op draait bescheiden zijn. 1 oct core DB, slechts 1 quad core web front end, en 2 eveneens quad core 'business logic' servers. Ik meen dat ik de systeembeheerder wel eens bedragen heb horen noemen van rond de 15.000 voor deze config. Deze kan dus exact gedupliceerd worden, tot op de versies van de firmware in de controllers aan toe.
Bij andere applicaties die in producties op een hele farm van servers hangen is het inderdaad niet mogelijk. Daar hebben wij een (veel) kleinere test omgeving voor die wij testen met een navenant lagere load. Als je echt de grote van een Hyves hebt dan zit je sowieso tegen hele andere getallen aan te kijken. Geen idee hoe die jongens dat doen, maar met hun load kunnen de flauwste dingen er opeens uit klappen in productie.
Jij had het over workstations, ik zie dat als de machines waar op de developers werken, de O in OTAP dus, de T en A omgevingen zijn over het algemeen veel groter geschaald.
Ik weet dat het bijna niet meer voorkomt, zeker niet in Nederland, maar er bestaat (bestond?) ook nog zoiets als desktop software development. Daar heb je het veel sterker dat de machine waarop je wilt ontwikkelen het liefst juist wat langzamer is dan de gemiddelde machine waar jouw klanten je pakket op gaan draaien.
Daarnaast zijn lang niet alle systemen volledig gericht op publieke web applicaties met een hoog bezoekers aantal of op transactie systemen met miljoenen transacties. Wij maken ook b.v. specialistische (web) applicaties voor intern (intranet) gebruik, b.v. bij laboratoria. Op zo'n systeem zit dan hooguit een mannetje of 20 te werken, in de avond uren en 's nachts nog minder (sommige laboranten schijnen nog als eens de hele nacht door te werken). Voor dergelijke applicaties komt de snelheid van 1 single request die ik op mijn workstation doe wel zeer zeker in de buurt van wat een gebruiker van zo'n applicatie zal ervaren.
[... quadcores gebruiken voor testen parallelle software...]
Hmmja? En?
Ik snap deze comment van jou niet helemaal. Iemand stelt dat een quadcore voordelen heeft bij developen, jij zegt dat dit onzin is, dan komt er een usecase waar het nodig is om parallelle software te testen, en dan reageer jij met "En?" ???
Zie ook het topic op got wat hier speciaal over gaat, maar zoals je weet worden enkele cpus amper meer sneller en moeten we het in de nabije toekomst voornamelijk van steeds meer cores gaan hebben. Software ontwikkelaars moeten hier op in spelen door hun software expliciet te parallelliseren. Het is lang niet bij elk systeem zo dat de aanwezige hardware volledig kan worden beziggehouden door de veelvoud aan requesten. Soms heb je gewoon te maken met systemen die in plaats van veel goedkope requesten, enkele zware requesten krijgen.
Op mijn werk hou ik me oa bezig met het ontwikkelen van parallelle algoritmen, en die zal ik toch echt op een multi-core telkens moeten testen. Als workstation heb ik dan ook een oct-core staan, zodat ik eenvoudig tijdens ontwikkeling makkelijk kan testen hoe de code schaalt van 2 cores, naar 4 cores en dus ook naar 8 cores. Af en toe een lockje net wat anders inrichten en het schaalt weer een stuk beter van 4 naar 8, terwijl dit effect van 2 naar 4 helemaal niet zichtbaar was. En voor je helemaal uit je dak gaat over hoe overdreven zwaar een oct core is voor development; het is gewoon de standaard Mac Pro config van Apple
It's shocking to find how many people do not believe they can learn, and how many more believe learning to be difficult.