A Proposal of Behavior-Based Consumption Profiles for Green Software Design
Abstract
:1. Introduction
- The probabilistic nature of our software-behavior modeling approach enables software designers to effectively manage the uncertainty of human–computer interactions (HCIs), thereby anticipating prospective energy consumption before any code is written and test-users are involved.
- We introduce the concept of diachronic software design, emphasizing the importance of software design that is conscious of time restrictions and changes in user demand over time.
- The BBCP simplifies the modeling of resource-intensive scenarios, which typically require extensive data collection and user testing.
2. Related Work
- A search using Harzing’s Publish or Perish software [14] in Google Scholar’s repository with the following query: SOA AND (green software profiling OR sustainability OR green OR software behavior OR profiling).
- As exclusion criteria, we discarded the papers unrelated to computer science, software engineering, or human–computer interaction, with only 39 papers remaining out of the original 500.
- We read the abstracts of the remaining papers and articles, and discarded the ones with no relevance to the topic, concluding with 11 final papers.
3. Elements of the BBCP
3.1. Usage Constraints
3.2. Run Constraints
3.3. Expectations Constraints
3.3.1. Cycles
3.3.2. Events
3.4. Timed Expectations Constraints
3.5. Elasticity Constraints
3.6. Parameters
3.7. Operations
3.7.1. Operation Resource Usage
3.7.2. Operational Time Constraints
3.7.3. Operational Dependencies
3.7.4. Results
3.7.5. Triggers
4. Integrative Example
4.1. The Catalog Service
4.2. The Game Stream Service
4.3. Methodology of Testing and Results
- We executed a simulation of the first cycle of the Catalog Service with a duration of a day.
- We executed a simulation of the first cycle of the Game Stream Service using the accumulated run time of our first experiment as an input, sampling the behavior over a single day.
- We repeated the previous steps using the data of the second cycle for each profile.
- A quantitative approximation of the energy consumption should be obtained to demonstrate that energy consumption can be drawn from the simulation of behavioral profiles.
- Both of the cycles defined above should be simulated and contrasted to understand how the re-definition of behavior affects the consumption of hardware and, in the end, energy consumption.
- We cloned the Insight Maker model and the values used in the second experiment and re-configured it to an agent simulation.
- We set the beginning of the experiment to the third timed expectation (row 3 of Table 4), and a total duration of 3600 s for the simulation. The duration was decided after the previously observed performance issues of Insight Maker in longer simulations caused the simulator to encounter a memory error.
- We reduced the Minimum Run Time to 300 s (5 min) so that agents would not spend most of the brief simulation in a run state.
5. Lessons Learnt
- It is possible to approximate the behavior and consumption of pre-existing software with the BBCP. In addition, behavior can be easily modified.
- Elasticity ensures that user satisfaction can be accounted for and that business constraints related to time, such as usage time constraints, can also be easily adjusted and enforced throughout different time periods.
- Refining and constraining profiles with a deeper analysis of their prospective user base allows for a more accurate simulation of the potential hardware load.
- The differences between the results of the BBCP models and the test bed in Table 15 were due to hardware specifications that can be easily replicated in the BBCP, such as the double ram consumption or the variability in CPU consumption. However, the culprit of the variability in CPU consumption seems to be Google Chrome, which was used as the host program for GeForce Now.
- The BBCP approach allows us to estimate energy consumption in scenarios that could be difficult to replicate. For example, the multi-agent simulation allows software architects to obtain stress test data that accounts for user behavior and business rules without setting up a hardware cluster, requiring the actual software, or conducting a massive user testing effort.
6. Conclusions and Future Work
Author Contributions
Funding
Data Availability Statement
Acknowledgments
Conflicts of Interest
Appendix A. Integrating the BBCP as a Design Method
- A description of the pre-requirements for each level.
- A description of the process to achieve the target level.
- The expected outcomes of the level.
- Introduce the BBCP to software designers and architects in the design stages of the project, resulting in the following:
- (a)
- A description of behavior, expected hardware consumption, and functional dependencies, at the individual function level.
- (b)
- The dependencies management among components and an expectation of component hardware consumption, at the component level.
These are later passed on to the DevOps (development and operations) team. - The DevOps team uses the results of the design stage to achieve the following:
- (a)
- Identify and implement the best practices in the code and technology stack, in addition to other tools for testing the prototype’s consumption.
- (b)
- Swiftly re-adjust the BBCP to categorize the actual hardware consumption of the prototype.
- (c)
- Employ our custom interpreter to generate the estimated prospective usage data based on the adjusted software models.
- The DevOps team uses the prospective usage data of the profiles to achieve the following:
- (a)
- Create proactive orchestration algorithms that account for the evolution of hardware usage throughout time using re-deployment simulators like PISCO [43].
- (b)
- (c)
- Re-adjust the configuration of the technology stack for the final deployment.
- Rebound effects;
- Change of business processes or goals;
- Software-induced hardware consumption;
- Software-induced energy consumption;
- Hardware requirements.
Level | Pre-Requirements | Description | Expected Outcomes |
---|---|---|---|
1 |
| This is the initial level, where the designers and/or architects of the software analyze the requirements stated by the stakeholders of the project and create an initial architecture with it. You can follow the following steps:
| It is expected that your BBCPs have, as a bare minimum, the following:
|
2 | Everything in level 1, plus the following:
| At this level, the core features of the BBCP are applied:
| It is expected that your BBCPs have, as a bare minimum, the following:
|
3 | Everything in level 2, plus the following:
| At this level, the advanced features of the BBCP are applied:
| It is expected that your BBCPs have, as a bare minimum, the following:
|
Appendix B. Building Correct BBCPs
Algorithm 1: Creating multiple operations in the corresponding category |
|
Algorithm 2: Creating timed expectations within its parent object |
|
Row | Name | Numeric | Text | Bounds | Boolean | Possible Values |
---|---|---|---|---|---|---|
1 | Profile Evaluation Rate | x | Hz | |||
2 | Default Run Probability | x | ||||
3 | Default Stop Probability | x | ||||
4 | Minimum Run Time | x | ; if the property will be ignored. | |||
5 | Maximum Run Time | x | ; if the property will be ignored. | |||
6 | Quota | x | ; if the property will be ignored. | |||
7 | Cooldown | x | ; if the property will be ignored. | |||
8 | Countdown | x | ; if the property will be ignored. | |||
9 | Days | x | Ranges: [1–7], selections: [1, 3, 6], selections and ranges: [1–3, 6] (the values are just for demonstration) | |||
10 | Scale | x | the interpreter’s duration | |||
11 | Initial Day | x | ; if the property will be ignored. | |||
12 | End Day | x | ; if the property will be ignored. | |||
13 | Time Range | x | Ranges: [1–12], selections:[3, 17], selections and ranges: [1–12, 17] | |||
14 | Run Probability Override | x | ||||
15 | Stop Probability Override | x | ||||
16 | Elasticity | x | True or False | |||
17 | Minimum Run Probability | x | ; if the property will be ignored. | |||
18 | Maximum Run Probability | x | ; if the property will be ignored. | |||
19 | Maximum Stop Probability | x | ; if the property will be ignored. | |||
20 | Minimum Stop Probability | x | ; if the property will be ignored. | |||
21 | Negative Run Probability Modifier | x | ; if the property will be ignored. | |||
22 | Negative Stop Probability Modifier | x | ; if the property will be ignored. | |||
23 | Positive Run Probability Modifier | x | if the property will be ignored. | |||
24 | Positive Stop Probability Modifier | x | if the property will be ignored. | |||
25 | Any ID | x | x | for identifier numbers or the name of the state for triggers. | ||
26 | Any description | x | Text | |||
27 | Any hardware usage | x | ||||
28 | Dependency Type | x | Dependee or Dependent | |||
29 | Trigger Type | x | Parameter or State | |||
30 | Parameter Direction | x | Internal or External | |||
31 | Parameter Size | x |
References
- European Environment Agency. Growth without Economic Growth. 2021. Available online: https://www.eea.europa.eu/publications/growth-without-economic-growth (accessed on 2 August 2024).
- Kerschner, C.; Wächter, P.; Nierling, L.; Ehlers, M.H. Degrowth and Technology: Towards Feasible, Viable, Appropriate and Convivial Imaginaries. J. Clean. Prod. 2018, 197, 1619–1636. [Google Scholar] [CrossRef]
- Noman, H.; Mahoto, N.A.; Bhatti, S.; Abosaq, H.A.; Al Reshan, M.S.; Shaikh, A. An Exploratory Study of Software Sustainability at Early Stages of Software Development. Sustainability 2022, 14, 8596. [Google Scholar] [CrossRef]
- Jagroep, E.; Broekman, J.; van der Werf, J.M.E.M.; Brinkkemper, S.; Lago, P.; Blom, L.; van Vliet, R. Awakening awareness on energy consumption in software engineering. In Proceedings of the 39th International Conference on Software Engineering: Software Engineering in Society Track, Buenos Aires, Argentina, 20–28 May 2017; (ICSE-SEIS). pp. 76–85. [Google Scholar] [CrossRef]
- García-Berna, J.A.; Carrillo de Gea, J.M.; Moros, B.; Fernández-Alemán, J.L.; Nicolás, J.; Toval, A. Surveying the Environmental and Technical Dimensions of Sustainability in Software Development Companies. Appl. Sci. 2018, 8, 2312. [Google Scholar] [CrossRef]
- Pang, C.; Hindle, A.; Adams, B.; Hassan, A.E. What Do Programmers Know about Software Energy Consumption? IEEE Softw. 2015, 33, 83–89. [Google Scholar] [CrossRef]
- Naumann, S.; Dick, M.; Kern, E.; Johann, T. The GREENSOFT Model: A Reference Model for Green and Sustainable Software and Its Engineering. Sustain. Comput. Inform. Syst. 2011, 1, 294–304. [Google Scholar] [CrossRef]
- Jiménez, A.R.T. Hacia la sostenibilidad energética: Una revisión de literatura del desarrollo de software verde. In Actas del Congreso Internacional de Ingeniería de Sistemas; Universidad de Lima: Lima, Peru, 2023; pp. 43–58. [Google Scholar] [CrossRef]
- Larracoechea, J.; Roose, P.; Ilarri, S.; Cardinale, Y.; Laborie, S.; Vara, O. Behavior-Based Consumption Profiles for the Approximation of the Energy Consumption of Services. In Proceedings of the International Conference on Information Systems Development (ISD), Cluj-Napoca, Romania, 31 August–2 September 2022. [Google Scholar]
- Pierre Bourque, R.E.F. (Ed.) Guide to the Software Engineering Body of Knowledge; IEEE: Piscataway, NJ, USA, 2014. [Google Scholar]
- Butterfield, A.; Ngondi, G.E.; Kerr, A. (Eds.) A Dictionary of Computer Science; Oxford University Press: Oxford, UK, 2016. [Google Scholar]
- SEBoK. Behavior (Glossary). 2022. Available online: https://www.sebokwiki.org/wiki/Behavior_(glossary) (accessed on 2 August 2024).
- Bowring, J.F.; Rehg, J.M.; Harrold, M.J. Software Behavior: Automatic Classification and Its Applications; Technical Report; Georgia Institute of Technology: Atlanta, GA, USA, 2003. [Google Scholar]
- Harzing, A.W. Publish or Perish. 2019. Available online: https://harzing.com/resources/publish-or-perish (accessed on 2 August 2024).
- Psaier, H.; Juszczyk, L.; Skopik, F.; Schall, D.; Dustdar, S. Runtime Behavior Monitoring and Self-Adaptation in Service-Oriented Systems. In Socially Enhanced Services Computing: Modern Models and Algorithms for Distributed Systems; Dustdar, S., Schall, D., Skopik, F., Juszczyk, L., Psaier, H., Eds.; Springer: Berlin/Heidelberg, Germany, 2011; pp. 117–138. [Google Scholar] [CrossRef]
- Zaha, J.M.; Barros, A.; Dumas, M.; ter Hofstede, A. Let us Dance: A Language for Service Behavior Modeling. In Proceedings of the On the Move to Meaningful Internet Systems 2006: CoopIS, DOA, GADA, and ODBASE; Meersman, R., Tari, Z., Eds.; Springer: Berlin/Heidelberg, Germany, 2006; Lecture Notes in Computer Science; pp. 145–162. [Google Scholar] [CrossRef]
- van der Aalst, W.M.P.; Dumas, M.; Ouyang, C.; Rozinat, A.; Verbeek, E. Conformance Checking of Service Behavior. ACM Trans. Internet Technol. 2008, 8, 1–30. [Google Scholar] [CrossRef]
- Östberg, P.O. A Model for Simulation of Application and Resource Behavior in Heterogeneous Distributed Computing Environments. In Proceedings of the 2nd International Conference on Simulation and Modeling Methodologies, Technologies and Applications (SIMULTECH), Rome, Italy, 28–31 July 2012; pp. 144–151. [Google Scholar]
- Kim, J.E.; Kapoor, R.; Herrmann, M.; Haerdtlein, J.; Grzeschniok, F.; Lutz, P. Software Behavior Description of Real-Time Embedded Systems in Component Based Software Development. In Proceedings of the 2008 11th IEEE International Symposium on Object and Component-Oriented Real-Time Distributed Computing (ISORC), Orlando, FL, USA, 5–7 May 2008; pp. 307–311. [Google Scholar] [CrossRef]
- Niu, X.; Liu, H.; Xin, G.; Huang, J.; Li, B. User Application Behavior Sequence Generation. In Proceedings of the 2020 IEEE International Conference on Advances in Electrical Engineering and Computer Applications (AEECA), Dalian, China, 25–27 August 2020; pp. 466–469. [Google Scholar] [CrossRef]
- Rosenthal, C.; Congdon, C.B. Personality Profiles for Generating Believable Bot Behaviors. In Proceedings of the 2012 IEEE Conference on Computational Intelligence and Games (CIG), Granada, Spain, 11–14 September 2012; pp. 124–131. [Google Scholar] [CrossRef]
- Koskinen, J.; Kettunen, M.; Systä, T. Behavioral Profiles-a Way to Model and Validate Program Behavior. Softw. Pract. Exp. 2010, 40, 701–733. [Google Scholar] [CrossRef]
- Corrales, J.C.; Grigori, D.; Bouzeghoub, M.; Burbano, J.E. BeMatch: A Platform for Matchmaking Service Behavior Models. In Proceedings of the 11th International Conference on Extending Database Technology: Advances in Database Technology (EDBT), Nantes, France, 25–29 March 2008; Association for Computing Machinery: New York, NY, USA; pp. 695–699. [Google Scholar] [CrossRef]
- Gaaloul, W.; Bhiri, S.; Rouached, M. Event-Based Design and Runtime Verification of Composite Service Transactional Behavior. IEEE Trans. Serv. Comput. 2010, 3, 32–45. [Google Scholar] [CrossRef]
- Vasudevan, M.; Tian, Y.C.; Tang, M.; Kozan, E. Profile-Based Application Assignment for Greener and More Energy-Efficient Data Centers. Future Gener. Comput. Syst. 2017, 67, 94–108. [Google Scholar] [CrossRef]
- Ponsard, C.; Deprez, J.C. A UML KPI Profile for Energy Aware Design and Monitoring of Cloud Services. In Proceedings of the 2015 10th International Joint Conference on Software Technologies (ICSOFT), Colmar, France, 20–22 July 2015; Volume 1, pp. 1–6. [Google Scholar]
- Shorin, D.; Zimmermann, A. Evaluation of Embedded System Energy Usage with Extended UML Models. In Softwaretechnik-Trends; Springer: Berlin/Heidelberg, Germany, 2013; pp. 16–17. [Google Scholar] [CrossRef]
- Benton, S.; Altemeyer, B.; Manning, B. Behavioural Prototyping: Making Interactive and Intelligent Systems Meaningful for the User. In Proceedings of the 2010 International Conference on Intelligent Networking and Collaborative Systems (INCoS), Thessaloniki, Greece, 24–26 November 2010; pp. 319–322. [Google Scholar] [CrossRef]
- The Object Management Group®. OMG MARTE | Object Management Group. Available online: https://www.omg.org/omgmarte/ (accessed on 2 August 2024).
- Schall, D.; Truong, H.L.; Dustdar, S. Unifying Human and Software Services in Web-Scale Collaborations. Internet Comput. IEEE 2008, 12, 62–68. [Google Scholar] [CrossRef]
- Holanda, H.J.A.; Marques, C.K.d.M.; Pinto, F.A.P.; Guéhéneuc, Y.G. BPEL4PEOPLE Anti-Patterns: Discovering Authorization Constraint Anti-Patterns in Web Services. In Proceedings of the Anais do Workshop sobre Aspectos Sociais, Humanos e Econômicos de Software (WASHES), Porto Alegre, Brasil, 22–26 July 2018. [Google Scholar] [CrossRef]
- Claude, G. Encyclopedia of Human Computer Interaction; Idea Group Inc. (IGI): Hershey, PA, USA, 2005. [Google Scholar]
- Universidad de Zaragoza; University of Pau. Behavior Based Consumption Profiles (BBCP). 2024. Available online: https://github.com/silarri/BBCP (accessed on 28 July 2024).
- Guldner, A.; Bender, R.; Calero, C.; Fernando, G.S.; Funke, M.; Gröger, J.; Hilty, L.M.; Hörnschemeyer, J.; Hoffmann, G.D.; Junger, D.; et al. Development and Evaluation of a Reference Measurement Model for Assessing the Resource and Energy Efficiency of Software Products and Components—Green Software Measurement Model (GSMM). Future Gener. Comput. Syst. 2024, 155, 402–418. [Google Scholar] [CrossRef]
- GeForce NOW Cloud Gaming. Available online: https://www.nvidia.com/en-us/geforce-now/ (accessed on 2 August 2024).
- Di Domenico, A.; Perna, G.; Trevisan, M.; Vassio, L.; Giordano, D. A network analysis on cloud gaming: Stadia, GeForce Now and PSNow. Network 2021, 1, 247–260. [Google Scholar] [CrossRef]
- Fortmann-Roe, S. Insight Maker: A General-Purpose Tool for Web-Based Modeling & Simulation. Simul. Model. Pract. Theory 2014, 47, 28–45. [Google Scholar] [CrossRef]
- Intel. Enhanced Intel SpeedStep Technology for the Intel Pentium M Processor; Technical Report; Intel: Santa Clara, CA, USA, 2004. [Google Scholar]
- Valera, H.H.A.; Dalmau, M.; Roose, P.; Larracoechea, J.; Herzog, C. An Energy Saving Approach: Understanding Microservices as Multidimensional Entities in P2P Networks. In Proceedings of the 36th Annual ACM Symposium on Applied Computing (SAC), Virtual, 22–26 March 2021; Association for Computing Machinery: New York, NY, USA, 2021; pp. 69–78. [Google Scholar]
- Chiaravalloti, S.; Idzikowski, F.; Budzisz, Ł. Power Consumption of WLAN Network Elements; Technical University Berlin: Berlin, Germany, 2011. [Google Scholar] [CrossRef]
- Noureddine, A. PowerJoular and JoularJX: Multi-Platform Software Power Monitoring Tools. In Proceedings of the 18th International Conference on Intelligent Environments (IE2022), Biarritz, France, 20–23 June 2022. [Google Scholar]
- Roose, P.; Sergio, I.; Larracoechea, J.A.; Cardinale, Y.; Laborie, S. Towards an Integrated Full-Stack Green Software Development Methodology. In Proceedings of the 29th International Conference on Information Systems Development, Valencia, Spain, 8–10 September 2021. [Google Scholar]
- Humberto Alvarez Valera, H.; Dalmau, M.; Roose, P.; Larracoechea, J.; Herzog, C. PISCO: A Smart Simulator to Deploy Energy Saving Methods in Microservices Based Networks. In Proceedings of the 2022 18th International Conference on Intelligent Environments (IE), Biarritz, France, 20–23 June 2022; pp. 1–4. [Google Scholar] [CrossRef]
- Cloud Carbon Footprint. Available online: https://www.cloudcarbonfootprint.org/ (accessed on 2 August 2024).
- The Green Web Foundation/Green-Cost-Explorer. Available online: https://github.com/thegreenwebfoundation/green-cost-explorer (accessed on 2 August 2024).
Criteria | Description |
---|---|
C1 | The approach allows its users to model the behavior of software and the behavior with software. |
C2 | The approach allows its users to include a shift in the behavior of the model and its inner components at different points in time. |
C3 | The approach allows its users to define and sequence the execution of methods/functions with support for parallel computing. Method/function dependency management and data I/O per function should also be included. |
C4 | The approach should allow the user to define data paths, and how data are generated, exchanged, and consumed. |
C5 | The approach should provide an alternative for a stochastic definition of behavior with software, meaning that the behavior with software can be statistically analyzed but not precisely predicted. This is of interest to us so that consumer behaviors can be modeled with aftermarket data. |
C6 | The approach should support the aggregation of models to design full software components or applications. |
C7 | The approach should allow the users to obtain a measurable output as a result of the execution of the profile they model. |
C8 | The approach should allow the user to define a resource consumption of any type, not only from the perspective of software but also hardware and other physical resources, e.g.: fuel. |
C9 | The goal of the approach must be oriented towards generating useful metrics for evaluating the energy consumption of the profiles. |
C10 | The approach must include means for profiling Human-Provided Services (HPSs) and modeling user behavior. |
C11 | The approach should be platform- and framework-agnostic, and aimed specifically at the initial phases of the software development life cycle. |
Source | C1 | C2 | C3 | C4 | C5 | C6 | C7 | C8 | C9 | C10 | C11 |
---|---|---|---|---|---|---|---|---|---|---|---|
[15] | ✓ | ✓ | ✕ | ✕ | ✕ | ✓ | ✕ | ✕ | ✕ | ✓ | ✕ |
[16] | ✓ | ✓ | ✕ | ✓ | ✓ | ✓ | ✓ | ✕ | ✕ | ✕ | ✕ |
[17] | ✕ | ✓ | ✕ | ✓ | ✕ | ✕ | ✕ | ✕ | ✕ | ✕ | ✕ |
[18] | ✓ | ✕ | ✕ | ✕ | ✕ | ✓ | ✓ | ✓ | ✕ | ✕ | ✕ |
[19] | ✕ | ✓ | ✕ | ✓ | ✓ | ✕ | ✕ | ✕ | ✕ | ✕ | ✕ |
[20] | ✓ | ✓ | ✓ | ✕ | ✕ | ✓ | ✕ | ✕ | ✕ | ✕ | ✕ |
[21] | ✕ | ✓ | ✓ | ✕ | ✕ | ✕ | ✕ | ✕ | ✕ | ✕ | ✕ |
[22] | ✓ | ✓ | ✕ | ✕ | ✓ | ✕ | ✕ | ✕ | ✕ | ✕ | ✕ |
[23] | ✕ | ✓ | ✕ | ✕ | ✓ | ✓ | ✕ | ✕ | ✕ | ✕ | ✕ |
[24] | ✕ | ✓ | ✕ | ✕ | ✓ | ✓ | ✕ | ✕ | ✕ | ✓ | ✓ |
[25] | ✕ | ✓ | ✓ | ✕ | ✓ | ✓ | ✓ | ✕ | ✕ | ✕ | ✕ |
[26] | ✕ | ✕ | ✓ | ✕ | ✕ | ✓ | ✓ | ✕ | ✓ | ✓ | ✕ |
[27] | ✕ | ✕ | ✓ | ✕ | ✓ | ✓ | ✓ | ✕ | ✓ | ✓ | ✕ |
BBCP | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Concept | Definition |
---|---|
Expectations | Collections of time frames |
Time frame | A period of time when a behavior is constrained |
Cycles | A cyclic time frame |
Events | A unique (non-cyclic) time frame |
Timed expectations | A re-definition of cycles and events tied to time |
Elasticity | A dynamic change in the values of a specific set of properties during timed expectations |
Behavior (in the BBCP) | The agglomeration of all the previous concepts |
Cycle | Timed Expectations | Time Range | Interpretation |
---|---|---|---|
1 | 1 | [1–8] | Early in the morning |
1 | 2 | [9–16] | Work schedule |
1 | 3 | [17–23] | After work |
2 | 1 | [1–9] | Early in the morning |
2 | 2 | [10–12] | Morning to mid-day |
2 | 3 | [13–23] | Evening to late-night |
Cycle | Timed Exp. | Run Prob. Override | Stop Prob. Override | Elasticity | Min. Run Prob. | Max Run Prob. | Min. Stop Prob. | Max. Stop Prob. | Neg. Run Prob. Mod. | Pos. Run Prob. Mod. | Neg. Stop Prob. Mod. | Pos. Stop Prob. Mod. |
---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | 1 | 0.1 | 0.9 | True | 0 | 0 | 0 | 0 | 0.001 | 0 | 0 | 0 |
1 | 2 | 0 | 1 | False | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
1 | 3 | 0.7 | 0.4 | True | 0.3 | 0.8 | 0 | 1 | 0.05 | 0.05 | 0.05 | 0.05 |
2 | 1 | 0.3 | 0.2 | False | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
2 | 2 | 0.7 | 0.4 | True | 0.3 | 0.8 | 0 | 1 | 0.05 | 0.05 | 0.05 | 0.05 |
2 | 3 | 0.8 | 0.1 | True | 0.3 | 0.8 | 0 | 1 | 0.05 | 0.005 | 0.05 | 0.05 |
Cycle | Timed Exp. | Min. Run Time (s) | Max. Run Time (s) |
---|---|---|---|
1 | 1 | 1800 | 3600 |
1 | 2 | 0 | 3600 |
1 | 3 | 1800 | 3600 |
2 | 1 | 1800 | 3600 |
2 | 2 | 1800 | 3600 |
2 | 3 | 3600 | 3600 |
(a) Descriptions | |
Operation ID | Description |
1 | Selected game initialization |
(b) Triggers | |
Value (ID) | Type |
Run | State |
(c) Results | |
Parameter ID | Operation ID |
1 | 2 |
Parameter ID | Description | Direction | Size (in KB/s) |
---|---|---|---|
1 | Chosen game | Internal | ∼4.79 |
2 | Frames and audio | External | ∼4.79 |
3 | Peripheral data | External | ∼4.79 |
(a) Defining operations 2 and 3 | |||
Operation ID | Description | ||
2 | Recollection of peripheral data | ||
3 | Frame and audio processing | ||
(b) Establishing relationships among inner operations and external operations | |||
Operation 2 | Operation 3 | ||
Operation ID | Type | Operation’s ID | Type |
1 | Dependent | 2 | Dependent |
3 | Dependee | 2 | Dependee |
3 | Dependent | ||
(c) Triggers per operation | |||
Operation 2 | Operation 3 | ||
ID | Type | ID | Type |
1 | Parameter | 3 | Parameter |
2 | Parameter | ||
The results of each operation | |||
Origin Operation ID | Parameter ID | Destination Operation ID | |
2 | 3 | 3 | |
3 | 2 | 2 | |
(e) Operational time constraints for operations 2 and 3 | |||
Operations 2 and 3 | |||
Max. run time | Min. run time | ||
3600 | 600 | ||
3600 | 600 |
Resource Usage | Operation 2 | Operation 3 |
---|---|---|
CPU (GHz) | ∼0.66 | ∼1.33 |
RAM (GB) | ∼0.021 | ∼0.042 |
Storage | N/A | N/A |
Network (Mbit) | ∼8.33 | ∼16.66 |
Hardware Device | Equations |
---|---|
CPU | [38] |
RAM | |
Storage | N/A |
Network | [39] |
Resource | Variables |
---|---|
CPU | Capacitance (C): 1 pF (hypothetical) Voltage (V): 1.2 V (hypothetical) Frequency (F): operation’s frequency in GHz Time (T): accumulated run time of the sample in seconds |
RAM | Consumption (C): 3 Watts depending on the RAM model Time (T): accumulated run time of the sample in seconds |
Storage | N/A |
Network | Idle consumption (): 0.4944 W [40] Active consumption (): 1.1349 W [40] Max. transfer rate (): 867 Mbps over the 5 GHz band according to the 802.11 ac standard Time (T): accumulated run time of the sample in seconds Load (L): sample’s network usage in Mbps |
Cycle | Consumption (Joules) | Effective Operational Time (s) |
---|---|---|
1 | 127,700.10 | 14,403 |
2 | 271,296.22 | 28,801 |
Change | 143,596.12 | 14,403 |
Resource | Model |
---|---|
CPU | Intel I7-7700HQ (1.2 V single core Voltage Identification) |
RAM | 2 sticks of 16 GB DDR4 (3 W each) |
Storage | 256 GB M.2 SSD |
Network | Killer Wireless-n/a/ac 1535 Wireless network adapter |
Experiment | BBCP (Joules) | Test bed (Joules) | Change (Joules) |
---|---|---|---|
1st Cycle | 127,700.10 | 151,818.16 | 24,118.06 |
2nd Cycle | 271,296.22 | 322,534.54 | 51,238.32 |
Agents | Consumption (Joules) | Effective Operational Time (s) |
---|---|---|
50 | 494,846.02 | 72,000 |
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2024 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Larracoechea, J.A.; Ilarri, S.; Roose, P. A Proposal of Behavior-Based Consumption Profiles for Green Software Design. Appl. Sci. 2024, 14, 7456. https://doi.org/10.3390/app14177456
Larracoechea JA, Ilarri S, Roose P. A Proposal of Behavior-Based Consumption Profiles for Green Software Design. Applied Sciences. 2024; 14(17):7456. https://doi.org/10.3390/app14177456
Chicago/Turabian StyleLarracoechea, Jorge Andrés, Sergio Ilarri, and Philippe Roose. 2024. "A Proposal of Behavior-Based Consumption Profiles for Green Software Design" Applied Sciences 14, no. 17: 7456. https://doi.org/10.3390/app14177456