Friday, June 18, 2021

Optimal MPI Process Placement for Azure HB Series VMs

For MPI applications, optimal pinning of processes can lead to significant application performance improvements for under subscribed systems. Before AMD introduced the Chiplet design a few years back, to get the optimal performance the user just needed to decide if there application performed better running all on the same socket or equally balanced across the sockets. However, with the introduction of the Chiplet design, it became more complicated. The following is a link to a diagram that may help to better understand the chiplet design

In the chiplet design, AMD has essentially integrated a bunch of smaller CPUs together to provide a socket with 64 cores (8 - 16 smaller CPUs with 4-8 cores each). To maximize the performance from each core it is important to balance the amount of L3 cache and memory bandwidth per core.  We will discuss how to do this below for the following Azure HB VM types using IntelMPI and OpenMPI/HPC-X.

 

Azure HB VM:

This instance comes with 60 AMD Naples cores. Each socket contains 8 numa domain with 4 cores each. One 4 core numa domain is held back for the hypervisor leaving 15 numa domains for the user. When undersubscribing the VM to get the desired resources/core it is desirable to equally balance the L3 cache and memory bandwidth between cores. To do this the user will need to select either 15, 30, 45, or 60 cores per node.

 

Metrics Azure
HB60rs HB60rs HB60rs HB60rs
Cores (Physical) 15 30 45 60
RAM (GB) 224 224 224 224
Network (BW) 100 100 100 100
Memory BW (GB/s) 250 250 250 250
RAM/Core 14.93 7.47 4.98 3.73
Network BW/Core 6.67 3.33 2.22 1.67
Memory BW/Core 16.67 8.33 5.56 4.17

 

OpenMPI 4 / HPC-X:

Note: To print out the placement of the cores before the application is run add the flag --report-bindings

    --bind-to core --map-by ppr:1:numa (30 cores)

    --bind-to core --map-by ppr:2:numa (60 cores)

    --bind-to core --map-by ppr:3:numa (90 cores)

 

Intel MPI:

Note: To print out the placement of the cores before the application is run add the environment variable I_MPI_DEBUG=4

15 PPN:

-env I_MPI_PIN_PROCESSOR_LIST=$(echo "for (i=0;i<60;i+=4) for (j=0;j<1;j++) i+j" | bc | sed -z 's/\n/,/g;s/,$/\n/')

 

30 PPN:

-env I_MPI_PIN_PROCESSOR_LIST=$(echo "for (i=0;i<60;i+=4) for (j=0;j<2;j++) i+j" | bc | sed -z 's/\n/,/g;s/,$/\n/')

 

45 PPN:

-env I_MPI_PIN_PROCESSOR_LIST=$(echo "for (i=0;i<60;i+=4) for (j=0;j<3;j++) i+j" | bc | sed -z 's/\n/,/g;s/,$/\n/')

 

Azure HBv2 VM:

This instance comes with the 120 AMD Rome cores. Each socket contains 15 numa domain with 4 cores each. Two 4 core numa domain are held back for the hypervisor. When undersubscribing the HBv2 VM to get the desired resources/core it is desirable to equally balance the L3 cache and memory bandwidth between cores. To do this the user will need to select either 30, 60, 90, or 120 cores per node.

 

Metrics Azure
HB120rs_v2 HB120rs_v2 HB120rs_v2 HB120rs_v2
Cores (Physical) 30 60 90 120
RAM (GB) 448 448 448 448
Network (BW) 200 200 200 200
Cost/Hr 3.92 3.92 3.92 3.92
Memory BW (GB/s) 345 345 345 345
RAM/Core 14.93 7.47 4.98 3.73
Network BW/Core 6.67 3.33 2.22 1.67
Memory BW/Core 11.50 5.75 3.83 2.88

 

If  you want to undersubscribe your VM to get the optimal about of resources per core for you application then you can pin your processes to get the optimal placement for the 30, 60, or 90 cores. To do this you will need to add the following environment variables to your MPI jobs.

 

OpenMPI 4 / HPC-X:

Note: To print out the placement of the cores before the application is run add the flag --report-bindings

    --bind-to core --map-by ppr:1:numa (30 cores)

    --bind-to core --map-by ppr:2:numa (60 cores)

    --bind-to core --map-by ppr:3:numa (90 cores)

 

Intel MPI:

Note: To print out the placement of the cores before the application is run add the environment variable I_MPI_DEBUG=4

30 PPN:

-env I_MPI_PIN_PROCESSOR_LIST=$(echo "for (i=0;i<120;i+=4) for (j=0;j<1;j++) i+j" | bc | sed -z 's/\n/,/g;s/,$/\n/')

 

60 PPN:

-env I_MPI_PIN_PROCESSOR_LIST=$(echo "for (i=0;i<120;i+=4) for (j=0;j<2;j++) i+j" | bc | sed -z 's/\n/,/g;s/,$/\n/')

 

90 PPN:

-env I_MPI_PIN_PROCESSOR_LIST=$(echo "for (i=0;i<120;i+=4) for (j=0;j<3;j++) i+j" | bc | sed -z 's/\n/,/g;s/,$/\n/')

 

Azure HBv3 VM:

This instance comes with the 120 AMD Milan cores. Each socket contains 2 numa domain with 30 cores each. 2 cores from 4 chiplets are held back for the hypervisor. When undersubscribing the HBv3 VM to get the desired resources/core it is desirable to equally balance the L3 cache and memory bandwidth between cores. To do this the user will need to select either 16, 32, 64, 96, or 120 cores per node. To simplify the optimal process placement for our customers, we have provided additional HBv3 VM sizes (HB120-16rs_v3, HB120-32rs_v3, HB120-64rs_v3, HB120-96rs_v3) than the standard HB120rs_v3 size. Below you can see a table of the resources per core when using the various sizes.

 

Metrics Azure
HB120-16rs_v3 HB120-32rs_v3 HB120-64rs_v3 HB120-96rs_v3 HB120rs_v3
Cores (Physical) 16 32 64 96 120
RAM (GB) 448 448 448 448 448
Network (BW) 200 200 200 200 200
Cost/Hr 3.92 3.92 3.92 3.92 3.92
Memory BW (GB/s) 345 345 345 345 345
RAM/Core 28.00 14.00 7.00 4.67 3.73
Network BW/Core 12.50 6.25 3.13 2.08 1.67
Memory BW/Core 21.56 10.78 5.39 3.59 2.88

 

If you are using the HBv120rs_v3 size and you want to undersubscribe your VM to get the optimal about of resources per core for you application then you can pin your processes to the same cores used by the 16, 32, 64, or 96 core VM sizes. To do this you will need to add the following environment variables to your MPI jobs.

 

OpenMPI 4 / HPC-X:

Note: To print out the placement of the cores before the application is run add the flag --report-bindings

 

16 PPN:

--bind-to cpulist:ordered --cpu-set 0,8,16,24,30,38,46,54,60,68,76,84,90,98,106,114

 

32 PPN:

--bind-to cpulist:ordered 

--cpu-set 0,1,8,9,16,17,24,25,30,31,38,39,46,47,54,55,60,61,68,69,76,77,84,85,90,91,98,99,106,107,114,115

 

64 PPN:

--bind-to cpulist:ordered

--cpu-set 0,1,2,3,8,9,10,11,16,17,18,19,24,25,26,27,30,31,32,33,38,39,40,41,46,47,48,49,54,55,56,57,60,61,62,63,68,69,70,71,76,77,78,79,84,85,86,87,90,91,92,93,98,99,100,101,106,107,108,109,114,115,116,117

 

96 PPN:

--bind-to cpulist:ordered

--cpu-set 0,1,2,3,4,5,8,9,10,11,12,13,16,17,18,19,20,21,24,25,26,27,28,29,30,31,32,33,34,35,38,39,40,41,42,43,46,47,48,49,50,51,54,55,56,57,58,59,60,61,62,63,64,65,68,69,70,71,72,75,76,77,78,79,80,81,84,85,86,87,88,89,90,91,92,93,94,95,98,99,100,101,102,103,106,107,108,109,110,111,114,115,116,117,118,119

 

 

Intel MPI:

Note: To print out the placement of the cores before the application is run add the environment variable I_MPI_DEBUG=4

 

16 PPN:

-genv I_MPI_PIN_PROCESSOR_LIST= 0,8,16,24,30,38,46,54,60,68,76,84,90,98,106,114

 

32 PPN:

-genv I_MPI_PIN_PROCESSOR_LIST= 0,1,8,9,16,17,24,25,30,31,38,39,46,47,54,55,60,61,68,69,76,77,84,85,90,91,98,99,106,107,114,115

 

64 PPN:

-genv I_MPI_PIN_PROCESSOR_LIST=0,1,2,3,8,9,10,11,16,17,18,19,24,25,26,27,30,31,32,33,38,39,40,41,46,47,48,49,54,55,56,57,60,61,62,63,68,69,70,71,76,77,78,79,84,85,86,87,90,91,92,93,98,99,100,101,106,107,108,109,114,115,116,117

 

96 PPN:

-genv I_MPI_PIN_PROCESSOR_LIST=0,1,2,3,4,5,8,9,10,11,12,13,16,17,18,19,20,21,24,25,26,27,28,29,30,31,32,33,34,35,38,39,40,41,42,43,46,47,48,49,50,51,54,55,56,57,58,59,60,61,62,63,64,65,68,69,70,71,72,75,76,77,78,79,80,81,84,85,86,87,88,89,90,91,92,93,94,95,98,99,100,101,102,103,106,107,108,109,110,111,114,115,116,117,118,119

 

 

Posted at https://sl.advdat.com/3vEdMLA

Meet The Swiss Group Uniting Biz Apps And Cognitive Services

Switzerland is a small country with big ideas.

 

Case in point: Microsoft Cognitive Services and Bot Framework Switzerland, a user group that shares the latest and greatest in tech for chatbot enthusiasts, Power Platform fans and Microsoft aficionados.

 

The result is an eclectic community where members of all skill levels bring out the best in each other. Business Applications MVP and founder Sebastian Zolg says the group is unique in the sense that it unites Microsoft's Business Apps and Power Platform with Microsoft's Cognitive Services and Bot Framework.

 

Despite launching a few years ago, Sebastian says the group has grown exponentially since the rise of the low-code and easy-to-access Power Platform. Its democratization of access has led to a wider variety of members and, as a result, ideas.

 

“Especially with the appearance of Power Virtual Agents and its deep integration in Microsoft Teams, the reach of our community efforts have grown considerably. Instead of pure tech experts, the community has evolved towards more business-oriented people and an evergrowing number of citizen developers,” Sebastian says.

 

“In that sense, my community role has transformed from tech expert to tech teacher, helping people in various job roles to understand how they can incorporate those technologies to solve their business problems.”

 

“For me, the community is all about learning new things and getting inspired — not just from the experts but also from people asking excellent questions on real-life usage of those technologies.”

 

The group hosts regular online meetups — complete with demonstrations and discussions — on an array of topics, including low-code chatbot solutions and supercomputers. Sebastian says the group follows a demo-first approach to illustrate ideas and concepts, with follow-up content available on Microsoft Learn.

 

“A well-structured demo removes the hesitation some people have when they are new to the technology,” Sebastian says. “Of course, showing the big picture helps people gain a good overview quickly and start a more streamlined journey on Microsoft Learn. 

 

“I always try to remember that navigation through this vast Microsoft cosmos isn't as easy as it seems to the experts — and that's why a good demo also includes showing people around on Microsoft Learn because it's the perfect follow-up!”

 

As the community grows from strength to strength, Sebastian says he is proud to be able to unite tech enthusiasts from all over the country. 

 

“While we started our community efforts in the area of Bern, it has quickly spread to other regions, even covering the different language areas, such as the German- and French-speaking parts of Switzerland,” he says.

 

“Personally, working with the community pushes me out of my comfort zone. Networking is not in my DNA per se, but working with the community has helped me develop in this area and be more open and less hesitant.”

 

For more information on the user group, visit the Meetup page.

Posted at https://sl.advdat.com/3xwPlRD

[Amplifying Black Voices] Availability Vs. Accessibility: Creating Seats At a Hidden Table

This blog was written by Program Manager, Azure Fastrack, iAsia Brown as part of the Amplifying Black Voices blog series. iAsia reflects on Juneteenth and how it correlates to her efforts to introduce and usher people into the field of technology.

 

On Thursday, 16 June 2021, the Senate passed a bill to establish Juneteenth as a national holiday, and with mixed emotions, I celebrated. I celebrated the final acknowledgment that there was a period when slaves, black people, were deliberately kept in the dark for three years that they were free. Imagine gatekeeping a person's ability to be more than property, live their lives on their terms, and find adequate employment.


pexels-rodnae-productions-7414106.jpg
After 16 years in the military, I remember when I first got my DD-214, my discharge papers, the papers that say I've completed serving the Marine Corps. I was free to live this life as a civilian and do whatever it was civilians do. I had been in the military since I was 17. It was my first and only real job. I didn't know what I wanted to do. I remember me declaring, " I will get out of the military and go work at Microsoft." Once I got here, my immediate reaction was, "now that I have access, who else can I bring along?"

On Day 2 of my new life, I posted a LinkedIn message about my new employment and willingness to help anyone looking for help pivoting into tech. I can say that within two years, I've helped over 102 different humans across the US find meaningful work at various tech companies to include, but not limited to, Microsoft and other big tech companies. Anyone who asked, I was happy to help. I was more than creating seats at hidden tables. Some tables are hidden by design, others due to lack of access to someone with the knowledge, active with access in these spaces, and willing to help them on their journey there.

 

pexels-rodnae-productions-7414048 (1).jpg

 

If Juneteenth has taught me anything in this lifetime, it's that not everyone will pass along the information to allow you access to new opportunities. When you find someone willing to help, take it and then pay it forward. I want to help be a catalyst to the change I want to see in tech. I want to see more women, more BIPOC, more LQBTQIA+, more veterans, more people who may be disabled but able and wanting to do these jobs. I want everyone to win. 

 

Technology is the equalizer. It doesn't matter your race, religion, sexual orientation, or height. None of it has a discriminatory place here, yet all of the beautiful things that make people different are needed here. Let's continue to be the representation the generation coming behind us can see; let's continue to make space at tables that we are discovering and uncovering for those we are bringing along. As we continue to pay it forward  and reflect on this holiday, I will challenge myself to continue to provide access to communities who were raised believing that it was not available. 

Posted at https://sl.advdat.com/3vEazMb

Universal Print ready printers are here!

Universal Print is a modern print solution that organizations can use to manage their print infrastructure through cloud services from Microsoft. When deployed with Universal Print ready printers, it doesn't require any on-premises infrastructure.

For those organizations considering the switch to Universal Print, there are several choices for existing and new hardware thanks to our many partners that have been hard at work developing updated firmware and new products that support Universal Print natively.

Updated firmware makes it possible for customers to keep using existing hardware and register printer directly with the Universal Print service. Where it makes sense, you have a choice of new printing hardware that is Universal Print ready and takes advantage of the latest printing technology.

We have compiled a list of partners and printers to help you decide the best options for your organization when you make the switch to Universal Print. The list is constantly growing so keep an eye on our blogs and partner page to see the latest lists or chat directly with your printer supplier of choice to learn about their plans for Universal Print.

AlanMeeus_3-1624032974177.png

Printers

Printers with Universal Print ready firmware built into the device help users more easily set up Universal Print in their organizations and leverage the full capabilities of their devices on the cloud platform.

Brother continues to support the the hybrid workforce, adding additional printing devices to the list of Universal Print ready devices. devices provide the flexibility and scalability to address diverse workplace needs, supporting Universal Print customers in their journey to the digital workplace.

Canon is the first manufacturer to releases Universal Print ready printers, and has an extensive set of printers available today. Canon releases models with native support for Universal Print at a consistent pace and more are expected throughout this year. Keep an eye on their listing for existing and new models on their lists.

HP will soon release their new ‘HP for Universal Print’ Workpath app, that delivers integration with Universal Print on all printing devices that support Workpath. The HP for Universal Print Workpath app modernizes the print experience to give users simple, driverless printing. Their target release date is summer 2021.

Konica Minolta MFPs integrate with the Microsoft 365 environment, so companies can reduce print-related costs and experience an improved printing experience and increased productivity. See the Konica Minolta list of Universal Print ready printers here.

Kyocera is expected to release their first set of Universal Print ready printers by late summer and more in early fall 2021.

Lexmark is one of the first printer manufacturers to integrate their firmware with Universal Print. The company’s portfolio includes reliable multi-function printers and printers, many of them support Universal Print natively. These enable the printing experience that users demand with File -> Print expectations. See the list of Universal Print ready printers here.

Ricoh is actively developing the Smart Operation Panel application for native integration with Universal Print. Keep an eye on their listing for the latest releases.

Toshiba has recently published their list of integrated printers certified to work with Universal Print. Native Universal Print support on these devices will be available soon.

Xerox will be releasing firmware updates to add Universal Print support to select models, including the AltaLink 8100 Series of MFP devices, in Fall 2021 with additional models becoming available at a future date.

Learn more

For more information about Universal Print partner solutions and updates visit our page at Universal Print partner page.

 

Posted at https://sl.advdat.com/3gHvHf0

[Amplifying Black Voices] Finding My Voice at Microsoft

This blog was written by Product Marketing Manager, Microsoft Teams, Christina Gonsalves as part of the Amplifying Black Voices blog series. Christina shares her experience of navigating her first year at Microsoft as a Black woman, during a global pandemic and social uprising. 

 

My first year at Microsoft was a complete struggle.

 

Despite having just completed two years of business school and growing my confidence there, I was suffering from an intense imposter syndrome, was lost in trying to figure out where I fit in in this huge company, and with how to get things done across what we know can be a very complicated ecosystem of stakeholders.

 

When I was in the office, it was easy to see I wasn’t alone. The mirror in the women’s bathroom in Building 3 was absolutely covered in post-it notes with words of encouragement: words like “You deserve to be here”, “You’re killing it!”, "You got this!" and:

Christina_Gonsalves_Pic 1.jpeg
Once we were hurled into the confusion of the pandemic, it started to feel like I was more alone. Black lives were being violently taken and needed to be enthusiastically protected, I lived across the country from my closest loved ones, and while I was blessed to be on a team with three (!!) Black women, when I looked across the company and even across my broader org, I just wasn’t finding the representation that I wanted to see.

 

During the summer months of 2020, I worked during the day and marched at night. I cried in between meetings, I looked for solace in ERGs (shoutout to Blacklight for holding meetings daily throughout the worst of times!), and I somehow felt my voice continue to slip. I felt empowered and heard in Capitol Hill, but when I was in meetings, I felt shaky and unsure, and like I wasn’t providing value.

 

Christina_Gonsalves_1-1623940061478.jpeg

 

Everything changed after I decided to take some time off of work. I moved back to New Jersey to quarantine with my family, and I spent time re-establishing strict self-care routines that included daily meditation, diving deeper into my spirituality (I practice Buddhism :smile:), long walks with my dog, and sharing meals with loved ones.

 

Now that I am in my second year – I finally feel like I know what I’m doing! I can ask the right questions in meetings, spin up decks that create clarity, drive strategy forward, and effectively communicate with stakeholders of all types of backgrounds. I have also learned that taking care of myself is always more important than the work - as Michelle Obama said, “We need to do a better job of putting ourselves higher on our own to-do list”.

 

Christina_Gonsalves_2-1623940061493.jpeg

 To anyone currently struggling with finding their voice, I have the following advice:

 

  1. Take your time to be intentional

    It is so easy to feel like you have to rush into a decision, or like you don’t want to take up too much of somebody’s time by bringing up something that’s on your mind. When everyone’s calendars are full of meetings, and you usually only have 30 minutes to accomplish a lengthy agenda, there tends to be things that you end up pushing down.

    I have found so much peace and fulfillment in really seizing each moment – a moment of confusion where I needed to ask a clarifying question, or a moment when someone took an action that was super impactful that I really appreciated and giving them a few words of kindness, or even a moment where I feel something was unkind or unjust and felt like I had to give tough feedback. Each of those moments add up to so much more – and it feels great to just be mindful and communicative off the bat!

 

  1. Surround yourself with people who encourage you

    Especially in the past year, when we all got pretty disconnected from each other physically, I think we have all learned that it is so important to have meaningful human connections. It’s important in life obviously, but it’s also so important at work!

    Put the time in to find people who you know will be in your corner and will encourage you after a tough meeting or before a big presentation – and learn about your teammates and lean on them as sources of not only work, but of support.
  1. You have to include “life” in work-life balance

    In my periods of most voicelessness, I also felt like I wasn’t using my voice outside of work. When I started leading Buddhist meetings and becoming active with organizations where I could volunteer – like Black Girls Code – and using my voice in places where I knew I could speak well and passionately, I started seeing my voice become stronger at work.

    It helps your work to feel powerful and connected in your life!

  2. Remember that nobody has all of the answers – and likely other people have the same questions as you!

    It is so easy – especially as someone from a non-technical background – to feel like everyone in the room is smarter than you. It’s not true – don’t fall into that trap! Even if you are struggling with a concept, I can guarantee you that someone has struggled with it before, and there is actually a ton of value for everyone in understanding the basics enough to be able to explain it to someone who is confused.

I’m so excited to continue this journey and see what personal revolutions I have in the next set of years. Until next time!

✌🏾

Christina

 

Christina_Gonsalves_3-1623940061503.jpeg

 

Posted at https://sl.advdat.com/2SJwbZZ