//------------------------------------------------------------------------------ // 'proportional' model , assume that what we call today is '30 MB/sec' // in the middle of 2006 we switch to true 60 MB/sec out of CSL // // there is _NO_ compression on output of CSL // overlap between the L3 streams is about 11%. // // ... corresponding L3 rate: 60/m->CslEventSize(2008)/1.1*1000. ~ 320 Hz // corresponding L3 rate: 60/m->CslEventSize(2008)/1.1*1000. ~ 320 Hz // // TODO: // ----- // - do ntupling separately from analysis - differnt scaling - no onsite CPU line // - $225K spent on disk - 172TB bought //------------------------------------------------------------------------------ TCompModel* model_2007(int Smartness=1) { // Smartness=0: "smartness" factor=0 (not used) // meaning of the "smartness": 2 times less MC, // 2 times more efficient analysis float data [] = { //--------------------------------------------------------------------------------------------- // CSL // year int_lum inst_lum l3_rate ops_eff l3_rate N(L3) N(CSL) event total data proc phys // fb-1 1e32 MB/sec (Hz) size size (TB) frac per // unused KB cpu //--------------------------------------------------------------------------------------------- 2002, 0.08, 0.10, 20., 0.50, 34., 238.e6, 266.e6, 270.9, 0.0696 , 0.73, 1., 2003, 0.22, 0.15, 20., 0.50, 48., 306.e6, 338.e6, 224.5, 0.0715 , 0.75, 1., 2004, 0.38, 0.27, 20., 0.65, 53., 492.e6, 550.e6, 146.0, 0.1024 , 0.68, 1., 2005, 0.67, 0.40, 30., 0.85, 64., 773.e6, 855.e6, 135.5, 0.1285 , 0.82, 1., // 2006, 0.87, 0.60, 60., 0.90, 100., -1, -1., -1., -1. , 0.82, 2006, 0.87, 0.60, 60., 0.90, 100., -1, -1., -1., -1. , 0.82, 1., 2007, 1.81, 1.00, 60., 0.90, 213., -1, -1., -1., -1. , 0.82, 1.1, 2008, 1.95, 1.20, 60., 0.90, 320., -1, -1., -1., -1. , 0.82, 2., 2009, 2.15, 1.30, 60., 0.90, 320., -1, -1., -1., -1. , 0.82, 2., 2010, 0.0 , 0.0 , 0., 0.0 , 0., -1, -1., -1., -1. , 0.82, 2., // 2007, 1.81, 1.00, 60., 0.90, 200., -1, -1., -1., -1. , 0.82, 1., // 2008, 1.95, 1.20, 60., 0.90, 200., -1, -1., -1., -1. , 0.82, 1., // 2009, 2.15, 1.30, 60., 0.90, 200., -1, -1., -1., -1. , 0.82, 1., -1, -1., -1., -1., -1., -1., -1, -1., -1., -1. , 0.82, -1. }; TCompModel* m = new TCompModel(); m->SetModel(1); m->SetT0(2005); //----------------------------------------------------------------------------- // gain ~60% after transitioning MC Production executables to optimized mode: // 30GHz*sec => 18 GHz*sec (Igor Suslov) //----------------------------------------------------------------------------- // m->SetCpuTimePerMcEvent(18.); TDetectorModel::Data_t* Data = m->fCdf->fData; int loc; for (int i=0; i<100 ; i++) { loc = 12*i; if (data[loc] < 0) break; Data[i].fYear = data[loc ]; Data[i].fDeliveredLumi = data[loc+ 1]; Data[i].fAverageInstLumi = data[loc+ 2]; Data[i].fL3MBytesSec = data[loc+ 3]; Data[i].fOpsEff = data[loc+ 4]; Data[i].fL3Rate = data[loc+ 5]; Data[i].fNL3Events = data[loc+ 6]; Data[i].fNCslEvents = data[loc+ 7]; Data[i].fCslEventSize = data[loc+ 8]; Data[i].fTotalDataSize = data[loc+ 9]; Data[i].fProcessedFract = data[loc+10]; if (Smartness == 0) Data[i].fPhysicsPerCpu = 1; else Data[i].fPhysicsPerCpu = data[loc+11]; } return m; }