SwePub
Sök i SwePub databas

  Utökad sökning

Träfflista för sökning "WFRF:(Castañeda Lozano Roberto) "

Sökning: WFRF:(Castañeda Lozano Roberto)

  • Resultat 1-10 av 25
Sortera/gruppera träfflistan
   
NumreringReferensOmslagsbildHitta
1.
  • Tsoupidi, Rodothea Myrsini, et al. (författare)
  • Securing Optimized Code Against Power Side Channels
  • 2023
  • Ingår i: 2023 IEEE 36TH COMPUTER SECURITY FOUNDATIONS SYMPOSIUM, CSF. - : Institute of Electrical and Electronics Engineers (IEEE). ; , s. 340-355
  • Konferensbidrag (refereegranskat)abstract
    • Side-channel attacks impose a serious threat to cryptographic algorithms, including widely employed ones, such as AES and RSA. These attacks take advantage of the algorithm implementation in hardware or software to extract secret information via side channels. Software masking is a mitigation approach against power side-channel attacks aiming at hiding the secret-revealing dependencies from the power footprint of a vulnerable implementation. However, this type of software mitigation often depends on general-purpose compilers, which do not preserve non-functional properties. Moreover, microarchitectural features, such as the memory bus and register reuse, may also leak secret information. These abstractions are not visible at the high-level implementation of the program. Instead, they are decided at compile time. To remedy these problems, security engineers often sacrifice code efficiency by turning off compiler optimization and/or performing local, post-compilation trans-formations. This paper proposes Secure by Construction Code Generation (SecCG), a constraint-based compiler approach that generates optimized yet protected against power side channels code. SecCG controls the quality of the mitigated program by efficiently searching the best possible low-level implementation according to a processor cost model. In our experiments with twelve masked cryptographic functions up to 100 lines of code on Mips32 and ARM Thumb, SecCG speeds up the generated code from 77% to 6.6 times compared to non-optimized secure code with an overhead of up to 13% compared to non-secure optimized code at the expense of a high compilation cost. For security and compiler researchers, this paper proposes a formal model to generate power side channel free low-level code. For software engineers, SecCG provides a practical approach to optimize performance critical and vulnerable cryptographic implementations that preserve security properties against power side channels.
  •  
2.
  • Castañedalozano, Roberto, et al. (författare)
  • Survey on combinatorial register allocation and instruction scheduling
  • 2019
  • Ingår i: ACM Computing Surveys. - : Association for Computing Machinery. - 0360-0300 .- 1557-7341. ; 52:3
  • Tidskriftsartikel (refereegranskat)abstract
    • Register allocation (mapping variables to processor registers or memory) and instruction scheduling (reordering instructions to increase instruction-level parallelism) are essential tasks for generating efficient assembly code in a compiler. In the past three decades, combinatorial optimization has emerged as an alternative to traditional, heuristic algorithms for these two tasks. Combinatorial optimization approaches can deliver optimal solutions according to a model, can precisely capture trade-offs between conflicting decisions, and are more flexible at the expense of increased compilation time. This article provides an exhaustive literature review and a classification of combinatorial optimization approaches to register allocation and instruction scheduling, with a focus on the techniques that are most applied in this context: integer programming, constraint programming, partitioned Boolean quadratic programming, and enumeration. Researchers in compilers and combinatorial optimization can benefit from identifying developments, trends, and challenges in the area; compiler practitioners may discern opportunities and grasp the potential benefit of applying combinatorial optimization. .
  •  
3.
  • Castañeda Lozano, Roberto, 1986-, et al. (författare)
  • Combinatorial Register Allocation and Instruction Scheduling
  • 2018
  • Rapport (övrigt vetenskapligt/konstnärligt)abstract
    • This paper introduces a combinatorial optimization approach to register allocation and instruction scheduling, two central compiler problems. Combinatorial optimization has the potential to solve these problems optimally and to exploit processor-specific features readily. Our approach is the first to leverage this potential in practice: it captures the complete set of program transformations used in state-of-the-art compilers, scales to medium-sized functions of up to 1000 instructions, and generates executable code. This level of practicality is reached by using constraint programming, a particularly suitable combinatorial optimization technique. Unison, the implementation of our approach, is open source, used in industry, and integrated with the LLVM toolchain.An extensive evaluation of estimated speed, code size, and scalability confirms that Unison generates better code than LLVM while scaling to medium-sized functions. The evaluation uses systematically selected benchmarks from MediaBench and SPEC CPU2006 and different processor architectures (Hexagon, ARM, MIPS). Mean estimated speedup ranges from 1% to 9.3% and mean code size reduction ranges from 0.8% to 3.9% for the different architectures. Executing the generated code on Hexagon confirms that the estimated speedup indeed results in actual speedup. Given a fixed time limit, Unison solves optimally functions of up to 647 instructions, delivers improved solutions for functions of up to 874 instructions, and achieves more than 85% of the potential speed for 90% of the functions on Hexagon.The results in this paper show that our combinatorial approach can be used in practice to trade compilation time for code quality beyond the usual compiler optimization levels, fully exploit processor-specific features, and identify improvement opportunities in existing heuristic algorithms.
  •  
4.
  • Castaneda Lozano, Roberto, et al. (författare)
  • Combinatorial register allocation and instruction scheduling
  • 2019
  • Ingår i: ACM Transactions on Programming Languages and Systems. - : Association for Computing Machinery. - 0164-0925 .- 1558-4593. ; 41:3
  • Tidskriftsartikel (refereegranskat)abstract
    • This article introduces a combinatorial optimization approach to register allocation and instruction scheduling, two central compiler problems. Combinatorial optimization has the potential to solve these problems optimally and to exploit processor-specific features readily. Our approach is the first to leverage this potential in practice: it captures the complete set of program transformations used in state-of-the-art compilers, scales to medium-sized functions of up to 1,000 instructions, and generates executable code. This level of practicality is reached by using constraint programming, a particularly suitable combinatorial optimization technique. Unison, the implementation of our approach, is open source, used in industry, and integrated with the LLVM toolchain. An extensive evaluation confirms that Unison generates better code than LLVM while scaling to medium-sized functions. The evaluation uses systematically selected benchmarks from MediaBench and SPEC CPU2006 and different processor architectures (Hexagon, ARM, MIPS). Mean estimated speedup ranges from 1.1% to 10% and mean code size reduction ranges from 1.3% to 3.8% for the different architectures. A significant part of this improvement is due to the integrated nature of the approach. Executing the generated code on Hexagon confirms that the estimated speedup results in actual speedup. Given a fixed time limit, Unison solves optimally functions of up to 946 instructions, nearly an order of magnitude larger than previous approaches. The results show that our combinatorial approach can be applied in practice to trade compilation time for code quality beyond the usual compiler optimization levels, identify improvement opportunities in heuristic algorithms, and fully exploit processor-specific features.
  •  
5.
  • Castañeda Lozano, Roberto, 1986-, et al. (författare)
  • Constraint-based Code Generation
  • 2013
  • Ingår i: Proceedings of the 16th International Workshop on Software and Compilers for Embedded Systems, M-SCOPES 2013. - New York, NY, USA : Association for Computing Machinery (ACM). - 9781450321426 ; , s. 93-95
  • Konferensbidrag (refereegranskat)abstract
    • Compiler back-ends generate assembly code by solving three main tasks: instruction selection, register allocation and instruction scheduling. We introduce constraint models and solving techniques for these code generation tasks and describe how the models can be composed to generate code in unison. The use of constraint programming, a technique to model and solve combinatorial problems, makes code generation simple, flexible, robust and potentially optimal.
  •  
6.
  • Castañeda Lozano, Roberto, 1986- (författare)
  • Constraint-Based Register Allocation and Instruction Scheduling
  • 2018
  • Doktorsavhandling (övrigt vetenskapligt/konstnärligt)abstract
    • Register allocation (mapping variables to processor registers or memory) and instruction scheduling (reordering instructions to improve latency or throughput) are central compiler problems. This dissertation proposes a combinatorial optimization approach to these problems that delivers optimal solutions according to a model, captures trade-offs between conflicting decisions, accommodates processor-specific features, and handles different optimization criteria.The use of constraint programming and a novel program representation enables a compact model of register allocation and instruction scheduling. The model captures the complete set of global register allocation subproblems (spilling, assignment, live range splitting, coalescing, load-store optimization, multi-allocation, register packing, and rematerialization) as well as additional subproblems that handle processor-specific features beyond the usual scope of conventional compilers.The approach is implemented in Unison, an open-source tool used in industry and research that complements the state-of-the-art LLVM compiler. Unison applies general and problem-specific constraint solving methods to scale to medium-sized functions, solving functions of up to 647 instructions optimally and improving functions of up to 874 instructions. The approach is evaluated experimentally using different processors (Hexagon, ARM and MIPS), benchmark suites (MediaBench and SPEC CPU2006), and optimization criteria (speed and code size reduction). The results show that Unison generates code of slightly to significantly better quality than LLVM, depending on the characteristics of the targeted processor (1% to 9.3% mean estimated speedup; 0.8% to 3.9% mean code size reduction). Additional experiments for Hexagon show that its estimated speedup has a strong monotonic relationship to the actual execution speedup, resulting in a mean speedup of 5.4% across MediaBench applications.The approach contributed by this dissertation is the first of its kind that is practical (it captures the complete set of subproblems, scales to medium-sized functions, and generates executable code) and effective (it generates better code than the LLVM compiler, fulfilling the promise of combinatorial optimization). It can be applied to trade compilation time for code quality beyond the usual optimization levels, explore and exploit processor-specific features, and identify improvement opportunities in conventional compilers.
  •  
7.
  • Castañeda Lozano, Roberto, 1986-, et al. (författare)
  • Constraint-based register allocation and instruction scheduling
  • 2012
  • Ingår i: Lecture Notes in Computer Science. - Berlin, Heidelberg : Springer Berlin Heidelberg. - 9783642335570 - 9783642335587 ; , s. 750-766
  • Konferensbidrag (refereegranskat)abstract
    • This paper introduces a constraint model and solving techniques for code generation in a compiler back-end. It contributes a new model for global register allocation that combines several advanced aspects: multiple register banks (subsuming spilling to memory), coalescing, and packing. The model is extended to include instruction scheduling and bundling. The paper introduces a decomposition scheme exploiting the underlying program structure and exhibiting robust behavior for functions with thousands of instructions. Evaluation shows that code quality is on par with LLVM, a state-of-the-art compiler infrastructure. The paper makes important contributions to the applicability of constraint programming as well as compiler construction: essential concepts are unified in a high-level model that can be solved by readily available modern solvers. This is a significant step towards basing code generation entirely on a high-level model and by this facilitates the construction of correct, simple, flexible, robust, and high-quality code generators.
  •  
8.
  • Castañeda Lozano, Roberto, 1986- (författare)
  • Integrated Register Allocation and Instruction Scheduling with Constraint Programming
  • 2014
  • Licentiatavhandling (övrigt vetenskapligt/konstnärligt)abstract
    • This dissertation proposes a combinatorial model, program representations, and constraint solving techniques for integrated register allocation and instruction scheduling in compiler back-ends. In contrast to traditional compilers based on heuristics, the proposed approach generates potentially optimal code by considering all trade-offs between interdependent decisions as a single optimization problem.The combinatorial model is the first to handle a wide array of global register allocation subtasks, including spill code optimization, ultimate coalescing, register packing, and register bank assignment, as well as instruction scheduling for Very Long Instruction Word (VLIW) processors. The model is based on three novel, complementary program representations: Linear Static Single Assignment for global register allocation; copy extension for spilling, basic coalescing, and register bank assignment; and alternative temporaries for spill code optimization and ultimate coalescing. Solving techniques are proposed that exploit the program representation properties for scalability.The model, program representations, and solving techniques are implemented in Unison, a code generator that delivers potentially optimal code while scaling to medium-size functions. Thorough experiments show that Unison: generates faster code (up to 41% with a mean improvement of 7%) than LLVM (a state-of-the-art compiler) for Hexagon (a challenging VLIW processor), generates code that is competitive with LLVM for MIPS32 (a simpler RISC processor), is robust across different benchmarks such as MediaBench and SPECint 2006, scales up to medium-size functions of up to 1000 instructions, and adapts easily to different optimization criteria.The contributions of this dissertation are significant. They lead to a combinatorial approach for integrated register allocation and instruction scheduling that is, for the first time, practical (it robustly scales to medium-size functions) and effective (it yields better code than traditional heuristic approaches).
  •  
9.
  • Castañeda Lozano, Roberto, 1986-, et al. (författare)
  • Register allocation and instruction scheduling in Unison
  • 2016
  • Ingår i: Proceedings of CC 2016. - New York, NY, USA : Association for Computing Machinery (ACM). - 9781450342414 ; , s. 263-264
  • Konferensbidrag (refereegranskat)abstract
    • This paper describes Unison, a simple, flexible, and potentially optimal software tool that performs register allocation and instruction scheduling in integration using combinatorial optimization. The tool can be used as an alternative or as a complement to traditional approaches, which are fast but complex and suboptimal. Unison is most suitable whenever high-quality code is required and longer compilation times can be tolerated (such as in embedded systems or library releases), or the targeted processors are so irregular that traditional compilers fail to generate satisfactory code.
  •  
10.
  • Castañeda Lozano, Roberto, 1986-, et al. (författare)
  • Survey on Combinatorial Register Allocation and Instruction Scheduling
  • 2018
  • Ingår i: ACM Computing Surveys. - : ACM Press. - 0360-0300 .- 1557-7341.
  • Tidskriftsartikel (refereegranskat)abstract
    • Register allocation (mapping variables to processor registers or memory) and instruction scheduling (reordering instructions to increase instruction-level parallelism) are essential tasks for generating efficient assembly code in a compiler. In the last three decades, combinatorial optimization has emerged as an alternative to traditional, heuristic algorithms for these two tasks. Combinatorial optimization approaches can deliver optimal solutions according to a model, can precisely capture trade-offs between conflicting decisions, and are more flexible at the expense of increased compilation time.This paper provides an exhaustive literature review and a classification of combinatorial optimization approaches to register allocation and instruction scheduling, with a focus on the techniques that are most applied in this context: integer programming, constraint programming, partitioned Boolean quadratic programming, and enumeration. Researchers in compilers and combinatorial optimization can benefit from identifying developments, trends, and challenges in the area; compiler practitioners may discern opportunities and grasp the potential benefit of applying combinatorial optimization.
  •  
Skapa referenser, mejla, bekava och länka
  • Resultat 1-10 av 25
Typ av publikation
tidskriftsartikel (13)
konferensbidrag (8)
rapport (1)
doktorsavhandling (1)
forskningsöversikt (1)
licentiatavhandling (1)
visa fler...
visa färre...
Typ av innehåll
refereegranskat (22)
övrigt vetenskapligt/konstnärligt (3)
Författare/redaktör
Carlsson, Mats (9)
Hay, Simon I. (8)
Dandona, Lalit (8)
Dandona, Rakhi (8)
Jonas, Jost B. (8)
Lozano, Rafael (8)
visa fler...
Malekzadeh, Reza (8)
Miller, Ted R. (8)
Mokdad, Ali H. (8)
Pereira, David M. (8)
Sepanlou, Sadaf G. (8)
Vos, Theo (8)
Werdecker, Andrea (8)
Xu, Gelin (8)
Yonemoto, Naohiro (8)
Lim, Stephen S. (8)
Singh, Jasvinder A. (8)
McKee, Martin (7)
Badawi, Alaa (7)
Esteghamati, Alireza (7)
Farzadfar, Farshad (7)
Feigin, Valery L. (7)
Geleijnse, Johanna M ... (7)
Khader, Yousef Saleh (7)
Khang, Young-Ho (7)
Kokubo, Yoshihiro (7)
Kumar, G. Anil (7)
Lopez, Alan D. (7)
Lotufo, Paulo A. (7)
Mendoza, Walter (7)
Naghavi, Mohsen (7)
Vollset, Stein Emil (7)
Yu, Chuanhua (7)
Murray, Christopher ... (7)
Bennett, Derrick A. (7)
Hafezi-Nejad, Nima (7)
Kim, Daniel (7)
Kinfu, Yohannes (7)
Kosen, Soewarta (7)
Mensah, George A. (7)
Rafay, Anwar (7)
Salomon, Joshua A. (7)
Santos, Itamar S. (7)
Sawhney, Monika (7)
Tonelli, Marcello (7)
Westerman, Ronny (7)
Yano, Yuichiro (7)
Gupta, Rahul (7)
Gupta, Rajeev (7)
Monasta, Lorenzo (7)
visa färre...
Lärosäte
Kungliga Tekniska Högskolan (17)
RISE (11)
Karolinska Institutet (8)
Högskolan Dalarna (7)
Uppsala universitet (6)
Lunds universitet (6)
visa fler...
Umeå universitet (4)
Chalmers tekniska högskola (4)
Göteborgs universitet (3)
Mittuniversitetet (3)
Södertörns högskola (1)
visa färre...
Språk
Engelska (25)
Forskningsämne (UKÄ/SCB)
Naturvetenskap (15)
Teknik (12)
Medicin och hälsovetenskap (8)
Samhällsvetenskap (1)

År

Kungliga biblioteket hanterar dina personuppgifter i enlighet med EU:s dataskyddsförordning (2018), GDPR. Läs mer om hur det funkar här.
Så här hanterar KB dina uppgifter vid användning av denna tjänst.

 
pil uppåt Stäng

Kopiera och spara länken för att återkomma till aktuell vy