
Eric CANO
Software Engineeer
I joined CERN in the CMS data acquisition group where I participated in the prototyping of the interfaces receiving the data from the various sub-detectors of the experiment. I contributed to the design and validation of in-house hardware on multiple IO buses and operating systems. In the same group, I also developed and implemented a fault tolerant network protocol embedded inside Myrinet NICs that managed the first step of event building in-hardware. As an early adopter of Linux, I also bootstrapped the use of Linux clusters in the group and oversaw the initial deployment of the computer systems at the experiment’s site.
After moving to the IT department, I participated in software development for tape systems, initially extending the tape scheduling based on an Oracle database. I then redesigned the tape server software, which included [multithreaded IO management]. This tape server, [combined with a new scheduler] is the foundation for the CERN Tape Archive (CTA), which is a tape backend of both CERN’s EOS and dCache. I then participated in the development of GPU code for CMS, using both CUDA and Alpaka and most notably implemented the GPU efficient SoA memory layout that is currently used as the basis for GPU side structures in the CMS reconstruction and analysis software. I am now participating in the NGT project with a focus on efficiently scheduling tasks on GPU and CPUs.