Giter VIP home page Giter VIP logo

patterns's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

patterns's Issues

[PM] Updates on working with SMEs

  • new applications are added to the google spreadsheet each week
  • progress to be discussed in the weekly meetings
  • VMware has joined the weekly calls, next steps to be discussed
  • AI?
  • WEB?

[Web] Use video formats for animated content

Describe the pattern you'd like to propose
Large GIFs are inefficient for delivering animated content. By converting large GIFs to videos, you can save big on users' bandwidth. Consider using MPEG4/WebM videos for animations and PNG/WebP for static images instead of GIF to save network bytes.

Describe specific emission impact from this pattern
Reduced energy consumption by reducing download size and increased page performance

References to this pattern
https://web.dev/efficient-animated-content/

Additional context
Add any other context or screenshots about the proposed pattern here.

[Cloud Engineer] Optimize geographic placement of workloads for user locations

Describe the pattern you'd like to propose
Intent: Analyze network access patterns to identify where your customers are connecting from geographically. Select Regions and services that reduce the distance that network traffic must travel to decrease the total network resources required to support your workload.


Describe the pattern you'd like to propose
This pattern involves analysing network access patterns for your users so you can select regions that reduce the distance the network traffic needs to travel to complete your workload. There are different means you can use to achieve this, including:
Caching locally for frequently-used resources
Connection pooling to enable reuse of connection
Edge caching to reduce the amount of data travelling from your origin server
Distributed data stores that don’t rely on persistent connections and synchronous updates to serve local populations
Using shared dynamic capacity in place of pre-provisioned static network capacity

Describe specific emission impact from this pattern
Reducing the distance that the network traffic has to travel reduces the overall network resources required to support your workload both in terms of electricity consumed and in terms of the total equipment being utilised.
In terms of the SCI impact, this means both M (embodied carbon) and E (energy) are reduced, leading to a lower overall score.

References to this pattern
https://docs.aws.amazon.com/wellarchitected/latest/sustainability-pillar/optimize-geographic-placement-of-workloads-for-user-locations.html

Additional context
Add any other context or screenshots about the proposed pattern here.

reza_test_pattern

Pattern Description
This is a test pattern created by Reza Razi, showing that he is familiar with the process.

Emission Impact
Reza will contribute as a Subject Matter Expert and will be assigned pull requests in this GitHub repo to review for the following areas of expertise:

  • Technical Domain: Artificial Intelligence, Machine Learning, Optimization, Control, Robotics
  • Industry Domain: Power Generation, Power Distribution, Power Utility, Power Grid, Oil and Gas, Renewable Energy

References
This pattern was created in response to the email Reza received from Bill Johnson.

Additional Context
Reza is expected to provide help in each of his expertise areas to:

  1. Review submitted patterns to determine if the pattern already exists or is covered by an existing pattern
  2. Ensure there is an appropriate level of detail for someone to implement the pattern in their own system
  3. Determine the efficacy and accuracy of a submitted pattern
  4. Explore splitting or combining patterns as necessary
  5. Provide clear feedback to the submitter if any of these areas are missing or not up to the defined standards
  6. Proactively provide feedback to the working group on ways to improve the process, documentation, and content
  7. Identify potential new patterns for your areas of expertise.

[Cloud Engineer] Optimize areas of code that consume the most time or resources

Describe the pattern you'd like to propose
Intent: Monitor workload activity to identify application components that consume the most resources. Optimize the code that runs within these components to minimize resource usage while maximizing performance.


Describe the pattern you'd like to propose
This pattern involves monitoring and analysing workload activity, identifying components that use the most resources and optimising the code for these components.
Once the optimisation targets have been identified, a number of measures can be taken:
Replace the least efficient parts of the code with more efficient algorithms
Use hardware acceleration to speed up the execution of blocks of code with long execution times
Modify the operating system or programming language if needed so it is optimised for the workload
Remove any unnecessary sorting and formatting
Use data transfer patterns that minimise the resources used based on how frequently the data changes and how it is consumed. For example, push state change information to a client instead of having it consume resources to poll and receive valueless ‘no change’ messages.

Describe specific emission impact from this pattern
Optimising the code results in a lower resource usage and better performance.
In terms of the SCI impact, this means both M (embodied carbon) and E (energy) are reduced, leading to a lower overall score.

References to this pattern
https://docs.aws.amazon.com/wellarchitected/latest/sustainability-pillar/optimize-areas-of-code-that-consume-the-most-time-or-resources.html

Additional context
Add any other context or screenshots about the proposed pattern here.

[PM] Each technical pillar/tag should have one lead

So someone coming to the repo will be coming from a specific domain, e.g. If i'm a web developer I'm going to head here and I want to see the patterns for web development.

I'll want those patterns for web development to make sense to me as a web developer, to have a consistent voice, to ensure that there are not contradictory pattens etc...

When patterns are shared between say the web and cloud catalog there needs to be some conversation to make sure the pattern speaks to both audiences.

I think they only way this is going to happen is if one person is in charge of each "pillar", there can be overlap but I think one person (or one team) is responsible for each Tag, say:

Web
Cloud
ML

They would be the SME reviewer and have an overview of all the patterns that fall in their domain.

YYYY MM DD - Green Software Patterns Agenda

Date

YYYY-MM-DD - 3pm UTC - See the time in your timezone https://everytimezone.com/s/a8399b00

Meeting notices

Antitrust Policy

Linux Foundation meetings involve participation by industry competitors, and it is the intention of the Linux Foundation to conduct all of its activities in accordance with applicable antitrust and competition laws. It is therefore extremely important that attendees adhere to meeting agendas, and be aware of, and not participate in, any activities that are prohibited under applicable US state, federal or foreign antitrust and competition laws.

Examples of types of actions that are prohibited at Linux Foundation meetings and in connection with Linux Foundation activities are described in the Linux Foundation Antitrust Policy available at http://www.linuxfoundation.org/antitrust-policy. If you have questions about these matters, please contact your company counsel, or if you are a member of the Linux Foundation, feel free to contact Andrew Updegrove of the firm of Gesmer Updegrove LLP, which provides legal counsel to the Linux Foundation.

Recordings

GSF project meetings may be recorded for use solely by the GSF team for administration purposes. In very limited instances, and with explicit approval, recordings may be made more widely available.

Roll Call

Please add a comment to this issue during the meeting to denote attendance.

Any untracked attendees will be added by the GSF team below:

  • Full Name, Affiliation, (optional) GitHub username

Agenda

  • Convene & Roll Call (5mins)
  • Review Meeting Notices (see above)
  • Approve Past Meeting Minutes
  • Review Pull Requests
  • Review Pull Request XXXX
  • Discuss Issues
  • Discuss Issue XXXXX
  • Agenda item 1
  • Agenda item 2
  • ...
  • AOB, Q&A & Adjourn (5mins)

Decisions Made

  • Decision 1
  • Decision 2
  • ...

Action Items

  • Action 1
  • Action 2
  • ...

[Web] Minify CSS

Describe the pattern you'd like to propose
Minifying CSS files can improve your page load performance. CSS files are often larger than they need to be. For example:

/* Header background should match brand colors. */
h1 {
background-color: #000000;
}
h2 {
background-color: #000000;
}
Can be reduced to:

h1, h2 { background-color: #000000; }
From the perspective of the browser, these 2 code samples are functionally equivalent, but the second example uses less bytes. Minifiers can further improve byte efficiency by removing whitespace:

h1,h2{background-color:#000000;}
Some minifiers employ clever tricks to minimize bytes. For example, the color value #000000 can be further reduced to #000, which is its shorthand equivalent.

Describe specific emission impact from this pattern
Reduced energy consumption by reducing download size and increased page performance

References to this pattern
https://web.dev/unminified-css/

Additional context
Add any other context or screenshots about the proposed pattern here.

Repurposing Deployed Environments

Describe the pattern you'd like to propose
Pulled from a comment in an open pull request by @ravikp:

How about changing the title to "Repurpose the environments" instead of "Minimizing deployed environments"? Also include running automated performance tests in the night and doing functional testing in the environment in the morning? Just a thought.

I think the title of the proposed pattern is accurate for its content since the goal of that pattern is to reduce and minimize the environments that you deploy and use. However, I think the other two options proposed in this comment of running automated tests in the night and doing functional testing in the morning are interesting as a separate pattern(s).

Describe specific emission impact from this pattern
Is there a connection to the SCI Impact that you see? Maybe instead of running them at different times, it is focused on running them during lower carbon intensity time periods? I could see an approach that prioritizes different testing types (load, perf, unit, integration, etc) by their compute intensity and prioritizes running the high compute intensity tests during low carbon intensity and low compute intensity during higher carbon intensity.

References to this pattern
pull request

Additional context
Add any other context or screenshots about the proposed pattern here.

[Cloud Engineer] Scale infrastructure with user load

Describe the pattern you'd like to propose
Intent: Identify periods of low or no utilization and scale resources to eliminate excess capacity and improve efficiency.


Describe the pattern you'd like to propose
This pattern involves reviewing workloads for predictable patterns and identifying periods of low or no activity where resources can be scaled back.

Describe specific emission impact from this pattern
Scaling back resources during periods of low utilisation eliminates excess capacity and improves efficiency because a unit running at a high utilisation produces energy more efficiently. In addition, reducing the total number of resources used also reduces the amount of embodied carbon.
In terms of the SCI impact, this means both M (embodied carbon) and E (energy) are reduced, leading to a lower overall score.

References to this pattern
https://docs.aws.amazon.com/wellarchitected/latest/sustainability-pillar/scale-infrastructure-with-user-load.html

Additional context
Add any other context or screenshots about the proposed pattern here.

2022 09 27 - Green Software Patterns Agenda & Minutes

Date

2022-09-27 - 1.30pm UTC

Agenda

Last week we added several proposed patterns to issues. Contribution has been really low for a long time and we are not making sufficient progress on new patterns. We need to discuss what (else/more) we can do to hit the deadlines for COP.

  • Anita to provide updates on editor to work on pending issues / proposed patterns
  • Bill to provide updates on working with SMEs and orgs (call w/ VMware)
  • TBD do we need to take any extra steps to make sure we can move forward efficiently (Jasper, hiring experts, etc?)
  • Sarah/Asim any updates on working session to be held in London on 13 October?

Discussions

  • We had limited time for discussions today due to Principles.
  • Discussed hiring SMEs via Upwork to speed things up.
  • We are confident that we'll have 30 patterns for Cloud, 20 should be doable for Web, but we miss coverage for AI.
  • Next areas to explore should be the ones with many SMEs (discussed compute, dev ops + programming languages).
  • We did not discuss the event to be held in London due to lack of time. TBD next week or via email.

Pending items from the previous meeting

  • (Anita) send reminder to team to add new issues or work on creating PRs based on existing issues
  • (Anita) define weekly targets for SMEs and overall so we can track our progress more closely from now on
  • (Anita) discuss copyright issues next time based on feedback received from the LF
  • (Editor) update proposed patterns created by holanita and add more web patterns using Asim's references
  • ??? (Asim) to confirm with source that we can use their ideas as patterns
  • (Bill) check tags page with Osama
  • (Bill) review the editor's version of recently proposed patterns (labeled as Initial Review as of today)
  • (Sean) create paid GSF account at jasper.ai and invite Bill so we can use it for adding patterns
  • (Anita waiting for VMware) schedule a call with VMware and Bill (cloud)
  • (Anita/Team) review and make sure all existing patterns match the newly agreed format

Pending Items related to the website

  • (Asim/Osama) Review taxonomy to make it easier to find things (tags, filters, each tag should have an owner/SME)
  • (Asim/Osama) Add SME application form to website
  • (Asim/Osama) Will style patterns once the Q&A sections are done for Principles

Future plans

  • O'reilly books suggested by Anne in the WG call on Sept 21 and then further information was provided via email
  • Audit our own resources as well to make sure we fully comply with our guidelines (graphics, css, svg formats, scripts etc)

Meeting notices

Antitrust Policy

Linux Foundation meetings involve participation by industry competitors, and it is the intention of the Linux Foundation to conduct all of its activities in accordance with applicable antitrust and competition laws. It is therefore extremely important that attendees adhere to meeting agendas, and be aware of, and not participate in, any activities that are prohibited under applicable US state, federal or foreign antitrust and competition laws.

Examples of types of actions that are prohibited at Linux Foundation meetings and in connection with Linux Foundation activities are described in the Linux Foundation Antitrust Policy available at http://www.linuxfoundation.org/antitrust-policy. If you have questions about these matters, please contact your company counsel, or if you are a member of the Linux Foundation, feel free to contact Andrew Updegrove of the firm of Gesmer Updegrove LLP, which provides legal counsel to the Linux Foundation.

Recordings

GSF project meetings may be recorded for use solely by the GSF team for administration purposes. In very limited instances, and with explicit approval, recordings may be made more widely available.

Roll Call

Please add a comment to this issue during the meeting to denote attendance.

Attendees

Anita H., Aoife F., Asim H., Bill. J., Markus S., Navveen B., Sarah H., Swapnil G.

[Web] Enable text compression

Describe the pattern you'd like to propose
When a browser requests a resource, it will use the Accept-Encoding HTTP request header to indicate what compression algorithms it supports.

Accept-Encoding: gzip, compress, br
If the browser supports Brotli (br) you should use Brotli because it can reduce the file size of the resources more than the other compression algorithms. Search for how to enable Brotli compression in , where is the name of your server. As of June 2020 Brotli is supported in all major browsers except Internet Explorer, desktop Safari, and Safari on iOS. See Browser compatibility for updates.

Use GZIP as a fallback to Brotli. GZIP is supported in all major browsers, but is less efficient than Brotli. See Server Configs for examples.

Describe specific emission impact from this pattern
Reduced energy consumption by reducing download size and increased page performance

References to this pattern
https://web.dev/uses-text-compression/

Additional context
Add any other context or screenshots about the proposed pattern here.

[Web] Minify JavaScript

Describe the pattern you'd like to propose
Minifying JavaScript files can reduce payload sizes and script parse time. The Opportunities section of your Lighthouse report lists all unminified JavaScript files, along with the potential savings in kibibytes (KiB) when these files are minified

Describe specific emission impact from this pattern
Reduced energy consumption by reducing download size and increased page performance

References to this pattern
https://web.dev/unminified-javascript/

Additional context
Add any other context or screenshots about the proposed pattern here.

[Cloud Engineer] Optimize software and architecture for asynchronous and scheduled jobs

Describe the pattern you'd like to propose
Intent: Use efficient software designs and architectures to minimize the average resources required per unit of work. Implement mechanisms that result in even utilization of components to reduce resources that are idle between tasks and minimize the impact of load spikes.


Describe the pattern you'd like to propose
This pattern involves using efficient software design and architecture so that less resources are required to perform the same tasks. There are different means you can use to achieve this, including:
Queuing non-urgent processing requests
Flattening utilisation across your pipeline with increased serialisation
Modifying the capacity of some components so that there are no idling resources waiting for input
Optimising the integration of external services with the use of buffers and rate limiting
Optimising software using the most efficient available hardware
Maximising utilisation for batch processing with queue-driven architecture, pipeline management and on-demand workers
Scheduling tasks to avoid simultaneous execution of resource contention and load spikes
Scheduling jobs at times of lowest carbon intensity

Describe specific emission impact from this pattern
Using more efficient software design and architecture results in a more even use of components; less resources are left idle and the impact of load spikes is reduced.
In terms of the SCI impact, this means both M (embodied carbon) and E (energy) are reduced, leading to a lower overall score.

References to this pattern
https://docs.aws.amazon.com/wellarchitected/latest/sustainability-pillar/optimize-software-and-architecture-for-asynchronous-and-scheduled-jobs.html

Additional context
Add any other context or screenshots about the proposed pattern here.

Take advantage of datacenters free cooling

Describe the pattern you'd like to propose
Shift execution time of batch data pipelines and machine learning models training pipelines to time between late evening to early morning to take advantage of datacenters free cooling.

Describe specific emission impact from this pattern
Typical data centers have two operation modes for cooling – regular one where compressors are assisting in pumping heat outside data center and free cooling where external air is used directly to transfer heat from heat exchangers. The second one is much more energy efficient, since compressors are the largest energy consumers in cooling systems but could work only when external temperature is low enough. In practice it means that for most of the year free cooling could be used mainly late evening, at night and early morning. Taking into account that in compressor assistant cooling mode, energy usage for cooling could be comparable to energy used by IT equipment, by simply moving batch workloads to time when free cooling is most likely to be used by data center, we could easily achieve two-digit percentage energy usage reduction. When we combine this gain with usually lower carbon intensity in energy production during off peak hours it will lead to significant carbon emission reduction.

SCI Impact
SCI = ((E * I) + M) per R
Lowers E by lowering cooling overhead
Lowers I by using energy when carbon mix is more favorable

References to this pattern
Currently no published pattern relates to this proposal.

Additional context
More info about free cooling How Data Center Free Cooling Works and Why it is Brilliant (masterdc.com)

[Web] Serve Images in Modern Formats

Describe the pattern you'd like to propose
AVIF and WebP are image formats that have superior compression and quality characteristics compared to their older JPEG and PNG counterparts. Encoding your images in these formats rather than JPEG or PNG means that they will load faster and consume less cellular data.

AVIF is supported in Chrome, Firefox, and Opera and offers smaller file sizes compared to other formats with the same quality settings. See Serving AVIF Images Codelab for more on AVIF.

WebP is supported in the latest versions of Chrome, Firefox, Safari, Edge, and Opera and provides better lossy and lossless compression for images on the web. See A New Image Format For The Web for more on WebP.

Describe specific emission impact from this pattern
Reduced energy consumption by reducing download size and increased page performance

References to this pattern
https://web.dev/uses-webp-images/

Additional context
Add any other context or screenshots about the proposed pattern here.

2022 08 16 - Green Software Patterns Agenda

Date

2022-08-16 - 3pm UTC - See the time in your timezone https://everytimezone.com/s/a8399b00

Agenda

  • Discuss the Education WG / sub-working group
  • Discussing updates on sample patterns

Decisions Made

The Education WG will not be launched for now. We'll revisit this right before or after COP. Ideas about future projects and acitvities: workshops, content/knowledge sharing, university level groups like MSLA, student ambassador programs, etc. (Agenda items related to this topic will be added to the Training/Principls Depo)

Actionable Items

  • (Asim/Osama) Review taxonomy to make it easier to find things (tags, filters, each tag should have an owner/SME)
  • (Asim/Osama) Add SME application form to website
  • (Asim/Anita) Plan the SME recruiting process
  • (Asim/Anita) Create an email template for recruiting SMEs + design
  • (Asim/Anita) Define when and how to do the technical review (before/after consistency review)
  • (Asim/Anita) Get an update on what will be the final project logos and how the pyramid should look like
  • (Bill) to integrate the template with the guide
  • (Bill) Define the right level for a pattern and add to the guide (an example could be: region shifting, time shifting)
  • Added after the meeting: (Asim) ask experts/SMEs/team to submit pattern ideas via discussions
  • Added after the meeting: (Anita) editor to review and rewrite sample patterns + create a guide to ensure consistency

Pending Items from previous meetings

  • (Sarah) to update the naming in the template (actions - resource)
  • (Sarah/Bill) to update the workflow and contributors guide on the website

Future plans

  • As also discussed in the Community WG call on Aug 17, Asim suggested we should have monthly working sessions where the team can work on patterns simultaneously and discuss details as needed.

Meeting notices

Antitrust Policy

Linux Foundation meetings involve participation by industry competitors, and it is the intention of the Linux Foundation to conduct all of its activities in accordance with applicable antitrust and competition laws. It is therefore extremely important that attendees adhere to meeting agendas, and be aware of, and not participate in, any activities that are prohibited under applicable US state, federal or foreign antitrust and competition laws.

Examples of types of actions that are prohibited at Linux Foundation meetings and in connection with Linux Foundation activities are described in the Linux Foundation Antitrust Policy available at http://www.linuxfoundation.org/antitrust-policy. If you have questions about these matters, please contact your company counsel, or if you are a member of the Linux Foundation, feel free to contact Andrew Updegrove of the firm of Gesmer Updegrove LLP, which provides legal counsel to the Linux Foundation.

Recordings

GSF project meetings may be recorded for use solely by the GSF team for administration purposes. In very limited instances, and with explicit approval, recordings may be made more widely available.

Roll Call

Please add a comment to this issue during the meeting to denote attendance.

Attendees

Bill J., Sarah H., Akshit B., Cameron C., Markus S., Tammy M. + Anita H.

[PM] Hiring SMEs via Upwork

@dubrie I suggest we test the Upwork hiring process with just one of the key categories first. How about AI as this is where we have least coverage?

If you can let me know briefly what type of skills/profile we are looking for here, I'm happy to do a quick search on Upwork to see what options we have. Usually hiring via Upwork is super fast so if we find the right person, we'll be able to hire them and proceed quickly.

Note that we might have to take this conversation off GH at some point as I don't think I can share the Upwork profile pages and personal data of potential candidates here.

[Cloud Engineer] Eliminate creation and maintenance of unused assets

Describe the pattern you'd like to propose
Intent: Analyze application assets (such as pre-compiled reports, data sets, and static images) and asset access patterns to identify redundancy, underutilization, and potential decommission targets. Consolidate generated assets with redundant content (for example, monthly reports with overlapping or common data sets and outputs) to eliminate the resources consumed when duplicating outputs. Decommission unused assets (for example, images of products that are no longer sold) to free consumed resources and reduce the number of resources used to support the workload.


Describe the pattern you'd like to propose
This pattern involves the analysis of all application assets in order to identify redundant or underutilised assets for removal. Static assets such as pre-compiled reports, data sets or static images should be evaluated and either consolidated or removed if no longer needed. Generated assets should also be evaluated to see if there is duplication or redundancy and should also be consolidated or discontinued where required. Both processes should include assets stored or generated on your behalf by third parties.

Describe specific emission impact from this pattern
Removing static assets frees up storage space, allowing the scaling back of storage resources, which impacts the embodied carbon used for the storage servers. Consolidating or halting the generation of assets also impacts the energy used to generate an store these resources.
In terms of the SCI impact, this means both M (embodied carbon) and E (energy) are reduced, leading to a lower overall score.

References to this pattern
https://docs.aws.amazon.com/wellarchitected/latest/sustainability-pillar/eliminate-creation-and-maintenance-of-unused-assets.html

Additional context
Add any other context or screenshots about the proposed pattern here.

[Web] Defer Offscreen Images

Describe the pattern you'd like to propose
Lazy loading is the approach of waiting to load resources until they are needed, rather than loading them in advance. This can improve performance by reducing the amount of resources that need to be loaded and parsed on initial page load.

Images that are offscreen during the initial pageload are ideal candidates for this technique. Best of all, lazysizes makes this a very simple strategy to implement.

Describe specific emission impact from this pattern
Reduced energy consumption by reducing download size and increased page performance

References to this pattern

Additional context
Add any other context or screenshots about the proposed pattern here.

[Web] Avoid chaining critical requests

Describe the pattern you'd like to propose
Critical request chains are series of dependent network requests important for page rendering. The greater the length of the chains and the larger the download sizes, the more significant the impact on page load performance.

Describe specific emission impact from this pattern
Reduced energy consumption by reducing download size and increased page performance

References to this pattern
https://web.dev/critical-request-chains/

Additional context
Add any other context or screenshots about the proposed pattern here.

[Cloud Engineer] Use software patterns and architectures that best support data access and storage patterns

Describe the pattern you'd like to propose
Intent: Understand how data is used within your workload, consumed by your users, transferred, and stored. Select technologies to minimize data processing and storage requirements.


Describe the pattern you'd like to propose
This pattern involves monitoring and analysing your data access and storage access selecting technologies which minimise processing and storage requirements.
This can be achieved in a number of ways, including:
Using efficient file formats such as Parquet for storage to prevent unnecessary processing
Using technologies that work natively with compressed data
Using the optimal database engine to support your dominant query pattern
Ensuring your database index designs support efficient query execution
Using network protocols that reduce the consumption of network capacity

Describe specific emission impact from this pattern
By minimising data processing and storage requirements you consume less energy and resources.
In terms of the SCI impact, this means both M (embodied carbon) and E (energy) are reduced, leading to a lower overall score.

References to this pattern
https://docs.aws.amazon.com/wellarchitected/latest/sustainability-pillar/use-software-patterns-and-architectures-that-best-support-data-access-and-storage-patterns.html

Additional context
Add any other context or screenshots about the proposed pattern here.

[Web] Remove Unused CSS

Describe the pattern you'd like to propose
Each external stylesheet must be downloaded from the network. These extra network trips can significantly increase the time that users must wait before they see any content on their screens.

Unused CSS also slows down a browser's construction of the render tree. The render tree is like the DOM tree, except that it also includes the styles for each node. To construct the render tree, a browser must walk the entire DOM tree, and check which CSS rules apply to each node. The more unused CSS there is, the more time that a browser might potentially need to spend calculating the styles for each node.

Describe specific emission impact from this pattern
Reduced energy consumption by reducing download size and increased page performance

References to this pattern
https://web.dev/unused-css-rules/

Additional context
Add any other context or screenshots about the proposed pattern here.

2022 09 01 - Green Software Patterns Agenda & Minutes

Date

2022-09-01 - 1.30pm UTC

Agenda

  • Discuss process for new patterns (how to work with the editor)
  • Confirm final structure for patterns (see suggestions by editor)
  • Discuss next steps for SMEs (areas not covered, communication, action steps, etc.)

Discussions

SMEs:

  • we have 8-9 SMEs at the moment, 3 tags missing, not much coverage on AI (Bill)
  • further details relating to SMEs to be confirmed once consistency review has been launched for Principles

New process:

  • Add new pattern using the issue template based on template/guide (default label: proposed pattern)
  • Note: references should be included in each pattern
  • Editor to periodically log in and edit them in a batch
  • Perform initial review and assign to right SME based on initial review guide
  • Perform SME review based on SME review guide

Actionable Items

  • (Anita/Team) double check whether all sample patterns match the updated template
  • (Bill) add references section to pattern template / issue template
  • (Bill) re-organize guides on the website (guide, initial review guide, sme guide)
  • (Asim) turn his recent discussions into new issues

Pending Items from previous meetings

  • (Asim/Osama) Review taxonomy to make it easier to find things (tags, filters, each tag should have an owner/SME)
  • (Asim/Osama) Add SME application form to website
  • N/A (Anita) check with Asim if we should publish SMEs on the website and whether we need their consent
  • N/A (Anita) to reach out to SMEs, confirm their github alias etc.
  • (Anita) Get the pyramid/triangle updated
  • (Bill/Sarah) to add pyramid/triangle to websites

Future plans

  • We might start planning a Hackathon (to build patterns) during the Principles consistency review period
  • As also discussed in the Community WG call on Aug 17, Asim suggested we should have monthly working sessions where the team can work on patterns simultaneously and discuss details as needed.

Meeting notices

Antitrust Policy

Linux Foundation meetings involve participation by industry competitors, and it is the intention of the Linux Foundation to conduct all of its activities in accordance with applicable antitrust and competition laws. It is therefore extremely important that attendees adhere to meeting agendas, and be aware of, and not participate in, any activities that are prohibited under applicable US state, federal or foreign antitrust and competition laws.

Examples of types of actions that are prohibited at Linux Foundation meetings and in connection with Linux Foundation activities are described in the Linux Foundation Antitrust Policy available at http://www.linuxfoundation.org/antitrust-policy. If you have questions about these matters, please contact your company counsel, or if you are a member of the Linux Foundation, feel free to contact Andrew Updegrove of the firm of Gesmer Updegrove LLP, which provides legal counsel to the Linux Foundation.

Recordings

GSF project meetings may be recorded for use solely by the GSF team for administration purposes. In very limited instances, and with explicit approval, recordings may be made more widely available.

Roll Call

Please add a comment to this issue during the meeting to denote attendance.

Attendees

Akshit B., Anita H., Asim H., Ben G., Bill J., Cameron C., Navveen B., Sarah H., Siu Ch., Tammy M.

[Web] Keep request counts low and transfer sizes small

Describe the pattern you'd like to propose
Requests for CSS and JavaScript files are render-blocking by default. In other words, browsers can't render content to the screen until all CSS and JavaScript requests are finished. If any of these files are hosted on a slow server, that single slow server can delay the entire rendering process. See Optimize your JavaScript, Optimize your third-party resources, and Optimize your CSS to learn how to only ship the code that you actually need.

Describe specific emission impact from this pattern
Reduced energy consumption by reducing download size and increased page performance

References to this pattern
https://web.dev/resource-summary/

Additional context
Add any other context or screenshots about the proposed pattern here.

[Web] Properly Size Images

Describe the pattern you'd like to propose
Ideally, your page should never serve images that are larger than the version that's rendered on the user's screen. Anything larger than that just results in wasted bytes and slows down page load time.

The main strategy for serving appropriately sized images is called "responsive images". With responsive images, you generate multiple versions of each image, and then specify which version to use in your HTML or CSS using media queries, viewport dimensions, and so on. See Serve responsive images to learn more.

Image CDNs are another main strategy for serving appropriately sized images. You can think of image CDNs like web service APIs for transforming images.

Another strategy is to use vector-based image formats, like SVG. With a finite amount of code, an SVG image can scale to any size. See Replace complex icons with SVG to learn more.

Tools like gulp-responsive or responsive-images-generator can help automate the process of converting an image into multiple formats. There are also image CDNs which let you generate multiple versions, either when you upload an image, or request it from your page.

Describe specific emission impact from this pattern
Reduced energy consumption by reducing download size and increased page performance

References to this pattern
https://web.dev/uses-responsive-images/

Additional context
Add any other context or screenshots about the proposed pattern here.

2022 08 09 - Green Software Patterns Agenda

Date

2022 08 09 - 1.30pm UTC - See the time in your timezone https://everytimezone.com/s/a8399b00

Agenda

  • Review recently submitted patterns, if any
  • Work on finalizing sample patterns
  • Tracking agendas and attendance in Github

Decisions Made

The team will work on (sample) patterns asynchronously from now on as much as possible
9 sample patterns are now good to go, these will not be subject to consistency review yet (low complexity, samples)

Action Items completed shortly after the meeting

Action Items to be tracked in future agendas

  • Sarah to update the naming in the template (actions - resource)
  • Sarah/Bill to update the workflow and contributors guide on the website

Meeting notices

Antitrust Policy

Linux Foundation meetings involve participation by industry competitors, and it is the intention of the Linux Foundation to conduct all of its activities in accordance with applicable antitrust and competition laws. It is therefore extremely important that attendees adhere to meeting agendas, and be aware of, and not participate in, any activities that are prohibited under applicable US state, federal or foreign antitrust and competition laws.

Examples of types of actions that are prohibited at Linux Foundation meetings and in connection with Linux Foundation activities are described in the Linux Foundation Antitrust Policy available at http://www.linuxfoundation.org/antitrust-policy. If you have questions about these matters, please contact your company counsel, or if you are a member of the Linux Foundation, feel free to contact Andrew Updegrove of the firm of Gesmer Updegrove LLP, which provides legal counsel to the Linux Foundation.

Recordings

GSF project meetings may be recorded for use solely by the GSF team for administration purposes. In very limited instances, and with explicit approval, recordings may be made more widely available.

Roll Call

Please add a comment to this issue during the meeting to denote attendance.

Attendees

Complete list of attendees: Asim H., Sarah H., Siu C., Tammy M. + Anita H.

[Cloud Engineer] Remove or refactor workload components with low or no use

Describe the pattern you'd like to propose
Intent: Monitor workload activity to identify changes in utilization of individual components over time. Remove components that are unused and no longer required, and refactor components with little utilization, to limit wasted resources.


Describe the pattern you'd like to propose
This pattern involves monitoring and analysing workload activity so that components that are surplus to requirements can be removed and those that are underused can be refactored. Analysing factors such as transaction flow and API calls to determine the load on functional components will help you identify components that are under-utilised or unused. Underutilised components can either be refectory or consolidated with other resources.

Describe specific emission impact from this pattern
This removal or refactoring of resources results in more efficient process that consume less, and less waste which means hardware usage can be reduced.
In terms of the SCI impact, this means both M (embodied carbon) and E (energy) are reduced, leading to a lower overall score.

References to this pattern
https://docs.aws.amazon.com/wellarchitected/latest/sustainability-pillar/remove-or-refactor-workload-components-with-low-or-no-use.html

Additional context
Add any other context or screenshots about the proposed pattern here.

2022 09 20 - Green Software Patterns Agenda & Minutes

Date

2022-09-20 - 1.30pm UTC

Agenda

  • adding new patterns for Asim (Jasper, volunteers)
  • working with SMEs and orgs (call w/ VMware)
  • TBC in-person study group / working session in London on 13 October
  • TBD all patterns should follow a specific format (front matter), this will be built into the guides and templates

Discussions

to be added

Pending items from the previous meeting

  • (Bill) add to SME guide: link each pattern back to the corresponding principles
  • (Bill) add to SME guide: review what gaps we have in terms of principles covered by patterns
  • (Bill) work with SMEs, get them to submit new patterns, update tag pages as needed
  • (Anita) Sean / Asim to create a GSF account at jasper.ai so we can test it
  • (Anita) add more web patterns using Asim's references
  • (Anita) follow up with editor on her availability re: editing and reviewing new patterns
  • (Asim) to confirm with source that we can use their ideas as patterns
  • (Anita waiting for VMware) schedule a call with VMware and Bill (cloud)
  • (Anita waiting for the LF) reach out to LF to discuss copyright concerns.
  • (Anita/Team) review and make sure all existing patterns match the newly agreed format

Pending Items related to the website

  • (Asim/Osama) Review taxonomy to make it easier to find things (tags, filters, each tag should have an owner/SME)
  • (Asim/Osama) Add SME application form to website
  • (Asim/Osama) Will style patterns once the Q&A sections are done for Principles

Future plans

  • We might organize an in-person study group / working session in London at the end of October. Part of this will be about learning Principles and another part would be to work on creating patterns together. Depending on the outcomes, we might as well organize a virtual networking event on Meetup with the same purpose and agenda.
  • o'reilly books suggested by Anne in the WG call on Sept 21
  • Audit our own resources as well to make sure we fully comply with our guidelines (graphics, css, svg formats, scripts etc)

Meeting notices

Antitrust Policy

Linux Foundation meetings involve participation by industry competitors, and it is the intention of the Linux Foundation to conduct all of its activities in accordance with applicable antitrust and competition laws. It is therefore extremely important that attendees adhere to meeting agendas, and be aware of, and not participate in, any activities that are prohibited under applicable US state, federal or foreign antitrust and competition laws.

Examples of types of actions that are prohibited at Linux Foundation meetings and in connection with Linux Foundation activities are described in the Linux Foundation Antitrust Policy available at http://www.linuxfoundation.org/antitrust-policy. If you have questions about these matters, please contact your company counsel, or if you are a member of the Linux Foundation, feel free to contact Andrew Updegrove of the firm of Gesmer Updegrove LLP, which provides legal counsel to the Linux Foundation.

Recordings

GSF project meetings may be recorded for use solely by the GSF team for administration purposes. In very limited instances, and with explicit approval, recordings may be made more widely available.

Roll Call

Please add a comment to this issue during the meeting to denote attendance.

Attendees

Akshit B., Anita H., Bill. J., Cameron C., Markus S., Navveen B., Tammy M.

[Web] Preconnect to required origins

Describe the pattern you'd like to propose
Consider adding preconnect or dns-prefetch resource hints to establish early connections to important third-party origins.

informs the browser that your page intends to establish a connection to another origin, and that you'd like the process to start as soon as possible.

Establishing connections often involves significant time in slow networks, particularly when it comes to secure connections, as it may involve DNS lookups, redirects, and several round trips to the final server that handles the user's request.

Taking care of all this ahead of time can make your application feel much snappier to the user without negatively affecting the use of bandwidth. Most of the time in establishing a connection is spent waiting, rather than exchanging data.

Describe specific emission impact from this pattern
Reduced energy consumption by reducing download size and increased page performance

References to this pattern
https://web.dev/uses-rel-preconnect/

Additional context
Add any other context or screenshots about the proposed pattern here.

What should our guidance be for how low/high level a pattern should be?

Adding this issue to discuss the PR #18

Thanks for this @yelghali! I like how you've broken it out into two and given some thought on the impacts of the SCI and assumptions.

It's made me think however that we as a group need to discuss how low level or high level a pattern should be? This feels very high level - we already discuss this exact concept in the much higher level training that's been created so adding it as a pattern in the same form feels redundant. I think patterns should be short and atomic, easy to understand, with enough information so you can apply it straight away to your work and have immediate impact.

I'm scared if we allow too high level a set of patterns then we'll end up with something that looks very close to our new principles training, e.g. we could similarly create a pattern that says "Build energy efficient software".

Maybe a patterns needs to mention a specific technology? Or be focused on a specific action?

Or maybe a pattern needs to be more focussed on the solution, so if a pattern has more than one solution then it should be more than one pattern. Since there are many ways to implement location shifting then maybe one pattern per solution.

E.g. these are three carbon aware patterns that I think are targeted at the right level for the catalog.

  • Implement location shifting in your kubernetes workloads
  • Train machine learning models in regions with the lowest carbon intensity
  • Use lower resolution images at times when the carbon intensity is high

[Web] Does the website avoid tracking user behavior and collecting data unnecessarily

Describe the pattern you'd like to propose
User tracking, user data collection, and targeting in advertisements are responsible for significant energy use in many digital products and services. This is primarily due to the large size of tracking and advertising scripts, the energy required to process and track user behavior, and databases collecting vast amounts of user data. Furthermore, this can present a significant violation of user privacy and tangibly degrade user experience.

Describe specific emission impact from this pattern
A clear and concise description of how you see this pattern impacting software emissions.

References to this pattern
https://sustainablewebdesign.org/does-the-website-avoid-tracking-user-behaviour-and-collecting-data-unnecessarily/

Additional context
Add any other context or screenshots about the proposed pattern here.

Fixing the Tags Page issue

Hey @dubrie I think i know what's happened with the tags page.

https://patterns.greensoftware.foundation/tags/ is an autogenerated page by docusaurus which must overwrite the tags folder you created here https://github.com/Green-Software-Foundation/green-software-patterns/tree/dev/docs/tags/

There is probably something @osamajandali can do to fix but the simplest solution might now might just be for you to change the name of your folder from tags to seething else, maybe topics? or topic-tags?

[Web] Avoid an excessive DOM size

Describe the pattern you'd like to propose
A large DOM tree can slow down your page performance in multiple ways:

Network efficiency and load performance

A large DOM tree often includes many nodes that aren't visible when the user first loads the page, which unnecessarily increases data costs for your users and slows down load time.

Runtime performance

As users and scripts interact with your page, the browser must constantly recompute the position and styling of nodes. A large DOM tree in combination with complicated style rules can severely slow down rendering.

Memory performance

If your JavaScript uses general query selectors such as document.querySelectorAll('li'), you may be unknowingly storing references to a very large number of nodes, which can overwhelm the memory capabilities of your users' devices.

Describe specific emission impact from this pattern
Reduced energy consumption by reducing download size and increased page performance

References to this pattern
https://web.dev/dom-size/

Additional context
Add any other context or screenshots about the proposed pattern here.

[Web] Minimize main thread work

Describe the pattern you'd like to propose
The browser's renderer process is what turns your code into a web page that your users can interact with. By default, the main thread of the renderer process typically handles most code: it parses the HTML and builds the DOM, parses the CSS and applies the specified styles, and parses, evaluates, and executes the JavaScript.

The main thread also processes user events. So, any time the main thread is busy doing something else, your web page may not respond to user interactions, leading to a bad experience.

Describe specific emission impact from this pattern
Reduced energy consumption by reducing download size and increased page performance

References to this pattern
Is this a new concept or does this pattern exist somewhere already? Please provide any references you have to existing examples.

Additional context
Add any other context or screenshots about the proposed pattern here.

Load Shedding Lower Priority Traffic

Describe the pattern you'd like to propose
Given a way to identify and prioritize system requests, you could drop or delay lower priority requests during times of high carbon intensity.

Describe specific emission impact from this pattern
This would reduce the overall usage and emissions during high intensity and move that traffic to periods of lower emission intensity

References to this pattern
Time-shifting requests is similar to this but accounts for specific jobs (batch, builds, ML, etc) and doesn't account for all requests in a system. Netflix uses a very similar concept for Load Shedding their systems during high resource usage and contention but does not factor in emissions directly.

Additional context
None

2022 08 23 - Green Software Patterns Agenda & Minutes

Date

2022-08-23 - 1.30pm UTC - See the time in your timezone https://everytimezone.com/s/a8399b00

Agenda

  • Discuss pending action items
  • Discuss new structure for sample patterns (suggested by editor)
  • Discuss next steps for SMEs (generic email, new contributors, add them to GitHub?)

Discussions

About the new pattern structure suggested by the editor:

  • Keep the word 'problem'
  • Keep intent and solution separate
  • Intent should be more than just the title
  • Cost impact might be great (could be called other impact?)
  • Considerations are better than pros and cons

There will be 30 patterns for each 3 major focus areas (AI, web, cloud), Bill will create the structure for this on Github
We might start planning a Hackathon (to build patterns) during the Principles consistency review period

Actionable Items

  • (Bill) to review SMEs and create an overview on what areas are covered already
  • (Bill) to update GitHub structure for hosting 30 patterns for each key areas (AI, web, cloud)
  • (Bill) to work on pending items this week
  • (Anita) check with Asim if we should publish SMEs on the website and whether we need their consent.
  • (Anita) to reach out to SMEs, confirm their github alias etc.
  • (Anita) to add pyramid/triangle to websites once content is finalized

Pending Items from previous meetings

  • Added after the last meeting: (Asim) ask experts/SMEs/team to submit pattern ideas via discussions
  • Added after the last meeting: (Anita) editor to review sample patterns + create a guide to ensure consistency
  • (Asim/Anita) Define when and how to do the technical review (has been started already)
  • (Asim/Anita) update on final project logos/icons and pyramid for principles-patterns-practices
  • (Sarah) to update the naming (actions - resource) in the template
  • (Sarah/Bill) to update the workflow and contributors guide on the website
  • (Bill) to integrate the template with the guide
  • (Bill) Define the right level for a pattern and add to the guide (an example could be: region shifting, time shifting)
  • (Asim/Osama) Review taxonomy to make it easier to find things (tags, filters, each tag should have an owner/SME)
  • (Asim/Osama) Add SME application form to website
  • Cancelled (Asim/Anita) Plan the SME recruiting process
  • Cancelled (Asim/Anita) Create an email template for recruiting SMEs + design

Future plans

  • We might start planning a Hackathon (to build patterns) during the Principles consistency review period
  • As also discussed in the Community WG call on Aug 17, Asim suggested we should have monthly working sessions where the team can work on patterns simultaneously and discuss details as needed.

Meeting notices

Antitrust Policy

Linux Foundation meetings involve participation by industry competitors, and it is the intention of the Linux Foundation to conduct all of its activities in accordance with applicable antitrust and competition laws. It is therefore extremely important that attendees adhere to meeting agendas, and be aware of, and not participate in, any activities that are prohibited under applicable US state, federal or foreign antitrust and competition laws.

Examples of types of actions that are prohibited at Linux Foundation meetings and in connection with Linux Foundation activities are described in the Linux Foundation Antitrust Policy available at http://www.linuxfoundation.org/antitrust-policy. If you have questions about these matters, please contact your company counsel, or if you are a member of the Linux Foundation, feel free to contact Andrew Updegrove of the firm of Gesmer Updegrove LLP, which provides legal counsel to the Linux Foundation.

Recordings

GSF project meetings may be recorded for use solely by the GSF team for administration purposes. In very limited instances, and with explicit approval, recordings may be made more widely available.

Roll Call

Please add a comment to this issue during the meeting to denote attendance.

Attendees

Asim H., Sarah H., Markus S., Cameron C., Santiago F., Tammy M., Bill J., Anita H.

2022 08 09 - Green Software Patterns Agenda

Date

2022 08 09 - 3pm UTC - See the time in your timezone https://everytimezone.com/s/a8399b00

Meeting notices

Antitrust Policy

Linux Foundation meetings involve participation by industry competitors, and it is the intention of the Linux Foundation to conduct all of its activities in accordance with applicable antitrust and competition laws. It is therefore extremely important that attendees adhere to meeting agendas, and be aware of, and not participate in, any activities that are prohibited under applicable US state, federal or foreign antitrust and competition laws.

Examples of types of actions that are prohibited at Linux Foundation meetings and in connection with Linux Foundation activities are described in the Linux Foundation Antitrust Policy available at http://www.linuxfoundation.org/antitrust-policy. If you have questions about these matters, please contact your company counsel, or if you are a member of the Linux Foundation, feel free to contact Andrew Updegrove of the firm of Gesmer Updegrove LLP, which provides legal counsel to the Linux Foundation.

Recordings

GSF project meetings may be recorded for use solely by the GSF team for administration purposes. In very limited instances, and with explicit approval, recordings may be made more widely available.

Roll Call

Please add a comment to this issue during the meeting to denote attendance.

Any untracked attendees will be added by the GSF team below:

  • Full Name, Affiliation, (optional) GitHub username

Agenda

  • Review Meeting Notices (see above)
  • Convene & Roll Call (5mins)
  • Approve Past Meeting Minutes
  • Review Pull Requests
  • Review Pull Request XXXX
  • Discuss Issues
  • Discuss Issue XXXXX
  • Agenda item 1
  • Agenda item 2
  • ...
  • AOB, Q&A & Adjourn (5mins)

Decisions Made

  • Decision 1
  • Decision 2
  • ...

Action Items

  • Action 1
  • Action 2
  • ...

[Cloud Engineer] Optimize impact on customer devices and equipment

Describe the pattern you'd like to propose
Intent: Understand the devices and equipment your customers use to consume your services, their expected lifecycle, and the financial and sustainability impact of replacing those components. Implement software patterns and architectures to minimize the need for customers to replace devices and upgrade equipment. For example, implement new features using code that is backwards compatible with older hardware and operating system versions, or manage the size of payloads so they don’t exceed the storage capacity of the target device.


Describe the pattern you'd like to propose
This pattern involves understanding the usage behaviours of your customers, including what hardware they use to consume your software, and optimising your software design and architecture to extend the life of their devices. This means doing customer research to understand what devices they are using and running tests on managed test farms to understand the impact of software changes.
Some of the ways you can improve the performance of software under different conditions:
If your users rely on low network bandwidth or internet latency, ensure your software runs efficiently under these conditions
If user devices are old or low-performance, run higher-intensity activities server side or use application streaming to improve performance
If local storage is limited, use segmentation and pagination to manage payloads
If older hardware or operating systems are being used, implement new features using code that is backwards compatible
If data transfer is limited, pre-process data payloads to reduce local processing requirements

Describe specific emission impact from this pattern
Increasing the lifetime usage of hardware reduces the environmental impact of the device and increasing the efficiency of the software reduces the energy consumed when running processes.
In terms of the SCI impact, this means both M (embodied carbon) and E (energy) are reduced, leading to a lower overall score.

References to this pattern
https://docs.aws.amazon.com/wellarchitected/latest/sustainability-pillar/optimize-impact-on-customer-devices-and-equipment.html

Additional context
Add any other context or screenshots about the proposed pattern here.

[Cloud-Engineer] Region Selection

Describe the pattern you'd like to propose
"Choose Regions near Amazon renewable energy projects and Regions where the grid has a published carbon intensity that is lower than other locations (or Regions)."


Describe the pattern you'd like to propose
This pattern involves the selection of regions where workloads are implemented that are close to Amazon renewable energy projects and where the grid has a lower carbon intensity.

Describe specific emission impact from this pattern
Choosing regions based on proximity or carbon intensity means a lower energy expenditure both to transfer the workloads and also in terms of the embodied carbon involved in the hardware required to transmit it.
In terms of the SCI impact, this means both M (embodied carbon) and E (energy) are reduced, leading to a lower overall score.

References to this pattern
https://docs.aws.amazon.com/wellarchitected/latest/sustainability-pillar/region-selection.html

Additional context
Add any other context or screenshots about the proposed pattern here.

Use Asynchronous Calls instead of sync when doing Network calls

Describe the pattern you'd like to propose
A clear and concise description of what you think the pattern should be.

When making calls across process boundaries to either databases or file systems or REST APIs, use asynchronous calling patterns compared to synchronous calls. In C# this feature is available either through the async/await syntax or through Task Parallel Library

Describe specific emission impact from this pattern
Using asynchronous patterns frees the calling thread from being blocked on the response and hence additional work is achieved without CPU cycles being consumed. Hence this pattern drives optimal utilization of the CPU and Memory cycles contributing to lesser Energy or E value. Reducing the E value reduces the SCI score,

References to this pattern
Is this a new concept or does this pattern exist somewhere already? Please provide any references you have to existing examples.
New concept

Additional context
Add any other context or screenshots about the proposed pattern here.

Optimizing Peak CPU Usage

Describe the pattern you'd like to propose
CPU usage and utilization varies throughout the day, often wildly for different computational requirements. By focusing on optimizing/reducing the peak values your system has you can reduce the overall emissions impact and make your system more predictable overall.

Describe specific emission impact from this pattern
By reducing peak CPU usage, the overall emissions will be reduced. By reducing the variation and spikes in CPU utilization, the predictability of your system improves and reduces capacity requirements and embodied carbon.

References to this pattern
CPU Utilization optimization exists, I'm not aware of specific efforts to minimize the spikes.

Additional context
none

2022 10 04 - Green Software Patterns Agenda & Minutes

Date

2022-10-04 - 1.30pm UTC (meeting to be run by Sarah and/or Bill)

Agenda

We agreed to start tracking our progress more closely. Currently, we have 9 published patterns and our goal is 90 by COP.

  • #80
  • #81
  • #87
  • (Bill/Asim) Updates on reviewing the editor's latest edits from a technical and copyright perspective
  • (Asim/Anita) Discuss copyright questions
  • (Asim/Sarah) In-person event in London on 13 October TBC/TBD (see also the agenda for Principles)
  • (Asim/Osama) Review pending tasks related to the website if time allows (see below as well)

Discussions

To be addressed in the next meeting:

  • Akshit suggested submitting hacktoberfest tickets, Bill to think about it.
  • Asim: another list of patterns was published

Pending items from the previous meeting

  • Still needed??? (Sean) create paid GSF account at jasper.ai and invite Bill so we can use it for adding patterns
  • Still needed??? (Asim/Osama) Add SME application form to website
  • (Bill/Osama) check tags page with Osama, it disappeared recently
  • (Asim/Osama) Review taxonomy to make it easier to find things (tags, filters, each tag should have an owner/SME)
  • (Asim/Osama) Will style patterns once the Q&A sections are done for Principles
  • (Team - Ongoing) review and make sure all existing patterns match the newly agreed format

Future plans

  • O'reilly books suggested by Anne in the WG call on Sept 21 and then further information was provided via email
  • Audit our own resources as well to make sure we fully comply with our guidelines (graphics, css, svg formats, scripts etc)

Meeting notices

Antitrust Policy

Linux Foundation meetings involve participation by industry competitors, and it is the intention of the Linux Foundation to conduct all of its activities in accordance with applicable antitrust and competition laws. It is therefore extremely important that attendees adhere to meeting agendas, and be aware of, and not participate in, any activities that are prohibited under applicable US state, federal or foreign antitrust and competition laws.

Examples of types of actions that are prohibited at Linux Foundation meetings and in connection with Linux Foundation activities are described in the Linux Foundation Antitrust Policy available at http://www.linuxfoundation.org/antitrust-policy. If you have questions about these matters, please contact your company counsel, or if you are a member of the Linux Foundation, feel free to contact Andrew Updegrove of the firm of Gesmer Updegrove LLP, which provides legal counsel to the Linux Foundation.

Recordings

GSF project meetings may be recorded for use solely by the GSF team for administration purposes. In very limited instances, and with explicit approval, recordings may be made more widely available.

Roll Call

Please add a comment to this issue during the meeting to denote attendance.

Attendees

Akshit B., Aoife F., Asim H., Bill. J., Markus S., Navveen B., Sarah H., Tammy M.

2022 09 13 - Green Software Patterns Agenda & Minutes

Date

2022-09-13 - 1.30pm UTC

Agenda

  • Asim – define the exact steps of working with the editor when adding new patterns (labels, content, etc.)
  • Asim – define final structure for patterns and update the template / format accordingly
  • Asim – adding new patterns, converting discussions into issues
  • working with SMEs and orgs (call w/ VMware)

Discussions

  • Asim will share his pattern ideas with the editor who will create issues using the existing issue template.
  • Once the issue is ready to be converted into a PR, the team will take over. The editor will make a final review at the end.
  • All patterns should follow a specific format (front matter), this will be built into the guides and templates (example).
  • Bill will reach out to SMEs to confirm their participation and ask them to submit a pattern themselves as a first step.
  • SMEs should make sure each pattern is linked to the relevant principle(s).
  • A call will be scheduled for VMware and Bill to discuss the details of the cloud category.
  • We should make sure we avoid any copyright issues when generating content ideas using online resources.
  • We might organize an in-person study group / working session in London at the end of October.

Actionable Items

  • (Asim) work with the editor on adding new pattern ideas and converting discussions into issues
  • (Asim) to confirm with source that we can use their ideas as patterns
  • (Bill) update the template and guides
  • (Bill) work with SMEs and update tag pages as needed
  • (Bill) add to SME guide: link each pattern back to the corresponding principles
  • (Bill) add to SME guide: review what gaps we have in terms of principles covered by patterns
  • (Bill) add references section to pattern template
  • (Bill) add principles-patterns-practices 'triangle' to patterns website
  • (Anita) schedule a call with VMware and Bill (cloud)
  • (Anita) reach out to LF to discuss copyright concerns.
  • (Anita) fix spelling of catalog in the principles-patterns-practices 'triangle'
  • (Anita/Team) review and make sure all existing patterns match the newly agreed format

Pending Items from previous meetings

  • (Asim/Osama) Review taxonomy to make it easier to find things (tags, filters, each tag should have an owner/SME)
  • (Asim/Osama) Add SME application form to website
  • (Asim/Osama) Will style patterns once the Q&A sections are done for Principles

Future plans

  • We might organize an in-person study group / working session in London at the end of October. Part of this will be about learning Principles and another part would be to work on creating patterns together. Depending on the outcomes, we might as well organize a virtual networking event on Meetup with the same purpose and agenda.
  • Audit our own resources as well to make sure we fully comply with our guidelines (graphics, css, svg formats, scripts etc)

Meeting notices

Antitrust Policy

Linux Foundation meetings involve participation by industry competitors, and it is the intention of the Linux Foundation to conduct all of its activities in accordance with applicable antitrust and competition laws. It is therefore extremely important that attendees adhere to meeting agendas, and be aware of, and not participate in, any activities that are prohibited under applicable US state, federal or foreign antitrust and competition laws.

Examples of types of actions that are prohibited at Linux Foundation meetings and in connection with Linux Foundation activities are described in the Linux Foundation Antitrust Policy available at http://www.linuxfoundation.org/antitrust-policy. If you have questions about these matters, please contact your company counsel, or if you are a member of the Linux Foundation, feel free to contact Andrew Updegrove of the firm of Gesmer Updegrove LLP, which provides legal counsel to the Linux Foundation.

Recordings

GSF project meetings may be recorded for use solely by the GSF team for administration purposes. In very limited instances, and with explicit approval, recordings may be made more widely available.

Roll Call

Please add a comment to this issue during the meeting to denote attendance.

Attendees

Akshit B., Anita H., Asim H., Ben L., Bill. J., Cameron C., Markus S., Martin L., Navveen B., Sarah H., Tammy M.

[Web] Ensure text remains visible during webfont load

Describe the pattern you'd like to propose
Fonts are often large files that take awhile to load. Some browsers hide text until the font loads, causing a flash of invisible text (FOIT).

Describe specific emission impact from this pattern
Reduced energy consumption by reducing download size and increased page performance

References to this pattern
https://web.dev/font-display/

Additional context
Add any other context or screenshots about the proposed pattern here.

2022 09 06 - Green Software Patterns Agenda & Minutes #44

Date

2022-09-01 - 1.30pm UTC

Agenda

Tasks have been parked as our priority for the week is the training (principles).
TBD: working with the editor, final structure for patterns, working with SMEs

Discussions

n/a

Actionable Items

  • (Anita/Team) double check whether all sample patterns match the updated template/guide
  • (Bill) add references section to pattern template / issue template
  • (Bill) re-organize guides on the website (guide, initial review guide, SME review guide)
  • (Asim) turn his recent discussions into new issues
  • (Bill/Sarah) add pyramid/triangle to websites

Pending Items from previous meetings

  • (Asim/Osama) Review taxonomy to make it easier to find things (tags, filters, each tag should have an owner/SME)
  • (Asim/Osama) Add SME application form to website

Future plans

  • We might start planning a Hackathon (to build patterns) during the Principles consistency review period
  • As also discussed in the Community WG call on Aug 17, Asim suggested we should have monthly working sessions where the team can work on patterns simultaneously and discuss details as needed.

Meeting notices

Antitrust Policy

Linux Foundation meetings involve participation by industry competitors, and it is the intention of the Linux Foundation to conduct all of its activities in accordance with applicable antitrust and competition laws. It is therefore extremely important that attendees adhere to meeting agendas, and be aware of, and not participate in, any activities that are prohibited under applicable US state, federal or foreign antitrust and competition laws.

Examples of types of actions that are prohibited at Linux Foundation meetings and in connection with Linux Foundation activities are described in the Linux Foundation Antitrust Policy available at http://www.linuxfoundation.org/antitrust-policy. If you have questions about these matters, please contact your company counsel, or if you are a member of the Linux Foundation, feel free to contact Andrew Updegrove of the firm of Gesmer Updegrove LLP, which provides legal counsel to the Linux Foundation.

Recordings

GSF project meetings may be recorded for use solely by the GSF team for administration purposes. In very limited instances, and with explicit approval, recordings may be made more widely available.

Roll Call

Please add a comment to this issue during the meeting to denote attendance.

Attendees

Anita H., Asim H., Bill. J., Markus S., Navveen B., Sarah H., Tammy M.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.