Skip to content
Menu
Open World News Open World News
  • Privacy Policy
Open World News Open World News

Category: News

Andy Wingo: on “correct and efficient work-stealing for weak memory models”

Posted on October 3, 2022 by Michael G

Hello all, a quick post today. Inspired by Rust as a Language for High Performance GC Implementation by Yi Lin et al, a few months ago I had a look to see how the basic Rust concurrency facilities that they used were implemented.

One of the key components that Lin et al used was a Chase-Lev work-stealing double-ended queue (deque). The 2005 article Dynamic Circular Work-Stealing Deque by David Chase and Yossi Lev is a nice read defining this data structure. It’s used when you have a single producer of values, but multiple threads competing to claim those values. This is useful when implementing per-CPU schedulers or work queues; each CPU pushes on any items that it has to its own deque, and pops them also, but when it runs out of work, it goes to see if it can steal work from other CPUs.

The 2013 paper Correct and Efficient Work-Stealing for Weak Memory Models by Nhat Min Lê et al updates the Chase-Lev paper by relaxing the concurrency primitives from the original big-hammer sequential-consistency operations used in the Chase-Lev paper to an appropriate mix of C11 relaxed, acquire/release, and sequentially-consistent operations. The paper therefore has a C11 translation of the original algorithm, and a proof of correctness. It’s quite pleasant. Here’s the a version in Rust’s crossbeam crate, and here’s the same thing in C.

I had been using this updated C11 Chase-Lev deque implementation for a while with no complaints in a parallel garbage collector. Each worker thread would keep a local unsynchronized work queue, which when it grew too large would donate half of its work to a per-worker Chase-Lev deque. Then if it ran out of work, it would go through all the workers, seeing if it could steal some work.

My use of the deque was thus limited to only the push and steal primitives, but not take (using the language of the Lê et al paper). take is like steal, except that it takes values from the producer end of the deque, and it can’t run concurrently with push. In practice take only used by the the thread that also calls push. Cool.

Well I thought, you know, before a worker thread goes to steal from some other thread, it might as well see if it can do a cheap take on its own deque to see if it could take back some work that it had previously offloaded there. But here I ran into a bug. A brief internet search didn’t turn up anything, so here we are to mention it.

Specifically, there is a bug in the Lê et al paper that is not in the Chase-Lev paper. The original paper is in Java, and the C11 version is in, well, C11. The issue is…. integer overflow! In brief, push will increment bottom, and steal increments top. take, on the other hand, can decrement bottom. It uses size_t to represent bottom. I think you see where this is going; if you take on an empty deque in the initial state, you create a situation that looks just like a deque with (size_t)-1 elements, causing garbage reads and all kinds of delightful behavior.

The funny thing is that I looked at the proof and I looked at the industrial applications of the deque and I thought well, I just have to transcribe the algorithm exactly and I’ll be golden. But it just goes to show that proving one property of an algorithm doesn’t necessarily imply that the algorithm is correct.

The Walking Dead Game Walkthrough PART 11

Posted on October 2, 2022 by Michael G
The Walking Dead: A New Frontier is an episodic adventure video game based on The Walking Dead comic book series developed by Telltale Games. It is Telltale’s third season of its The Walking Dead series, with the first two episodes released on December 20, 2016. The game employs the same narrative structure as the past seasons, where player choice in one episode will have a permanent impact on future story elements.

If you like this then please – Like & Share & Don’t forget to Follow us for more video.
Follow us on dailymotion – https://www.dailymotion.com/vintage-era

Released Ukrainian prisoner of war reveals torment at the hands of Russians

Posted on October 2, 2022 by Michael G
Recent deals with Russia saw the release of 215 Ukrainian prisoners of war. Speaking for the first time to Sky’s Sally Lockwood, one former marine tells of being treated “like animals” – stripped, beaten, duct-taped, shocked and humiliated. News correspondent @sallylockwood Please use Chrome browser for a more accessible video player When Ukrainian marine Mikhailo Dianov was released from Russian detention, his photo shocked the world. His body was emaciated after four months as a prisoner of war. When I met him, he was unrecognisable from the photos I’d seen of the well-built fighter in Mariupol, Ukraine. His clothes hung from his frail frame. His gaunt face seemed far older than his 42 years. I had so many questions. Crucially, did you worry you wouldn’t survive? “We thought about this every day,” Mikhailo tells me. “We first started having those thoughts at the Azovstal steel plant. “At Azovstal we thought it was the end.” Ukraine forces Russian troops out of critical town – live up

Jetzt auch mit Logo. Just Cause 3 #14 (Part 5)

Posted on October 2, 2022 by Michael G
In Just Cause 3 leidet die Mittelmeerrepublik Medici unter der brutalen Herrschaft von General Di Ravello, ein Diktator mit unstillbarer Machtgier. Auftritt Rico Rodriguez, ein Mann mit der Mission, die Macht des Generals zu zerschlagen – koste es, was es wolle. Du kannst dich frei über 1000 km2 vom Himmel bis zum Meeresgrund bewegen und dir steht ein riesiges Arsenal an Waffen, Apparaturen und Fahrzeugen zur Verfügung – also bereite dich darauf vor, so kreativ und explosiv wie möglich Chaos anzurichten.

Genre: Action
Entwickler: Avalanche Studios
Publisher: Square Enix
Veröffentlichung: 01.12.2015
Offizielle Seite: https://justcause.square-enix-games.com/

Game-Tags: #JustCause3 #Action #Abenteuer

Ganze Reihe: https://dailymotion.com/playlist/x7left
Weitere Lets Plays: https://saschatee.de

Twitch: https://www.twitch.tv/satishu
Twitter: https://twitter.com/SaschaTee
Facebook: https://www.facebook.com/saschateelp
Mastodon: https://mastodon.cloud/@SaschaTee

The Walking Dead Game Walkthrough PART 10

Posted on October 1, 2022 by Michael G
The Walking Dead: A New Frontier is an episodic adventure video game based on The Walking Dead comic book series developed by Telltale Games. It is Telltale’s third season of its The Walking Dead series, with the first two episodes released on December 20, 2016. The game employs the same narrative structure as the past seasons, where player choice in one episode will have a permanent impact on future story elements.

If you like this then please – Like & Share & Don’t forget to Follow us for more video.
Follow us on dailymotion – https://www.dailymotion.com/vintage-era

FOR
Vintage-era
The walking dead game
How to play
american horror story
The Walking Dead Game Walkthrough
the walking dead: survivors gameplay
the walking dead game trailer
zombie games
zombie survival gameplay
zombie games pc 2022
top zombie games 2022
best zombie games android 2022
zombie games xbox
zombie games gameplay 2022

Novela Génesis – Capítulo 247 hablado español latino (Penúltimo)

Posted on October 1, 2022 by Michael G
(Capitulo 01 – 80) https://www.dailymotion.com/playlist/x78wjw

(Capitulo 81 – 150) https://www.dailymotion.com/playlist/x7e1w0

(Capitulo 151 – 248) https://dailymotion.com/playlist/x7haca

Génesis hablado en español latino TVN – Capítulo 247 completo

Serie basada en el libro de “Génesis”. Una producción que contará desde la creación del mundo hasta historias clásicas como Caín y Abel, el Arca de Noé, la Torre de Babel, Abraham, y terminando con la historia de José de Egipto. ¡El origen de todo, contado en una serie extraordinaria! El hombre busca constantemente respuestas y se cuestiona todo el tiempo con la esperanza de explicar los misterios del mundo. Y para comprender el presente, es necesario conocer el pasado. ¿Qué es la vida humana? De donde venimos ¿Cómo aparecieron las bellezas de la naturaleza? ¿Cuál es el origen de todo lo que conocemos? Son enigmas que la sobreproducción Génesis busca retratar al público a través de una trama épica y sin precedentes en la televisión brasileña. Desde la creación del mundo, pasando por la gran inundación y la construcción de la Torre de Babel, la telenovela presenta viejas historias, contadas y transmitidas de generación en generación, que exploran el origen de la humanidad. Las disputas entre las luces y las sombras, las intrigas familiares y los milagros emocionantes conmoverán a los espectadores de todas las edades, haciendo que las noches de la semana sean mucho más atractivas. Dividida en fases, esta gran obra de teledramaturgia cuenta con escenarios deslumbrantes, personajes con fuerte identificación con el público y una trama profunda que promete fuertes emociones desde el principio hasta el final de cada capítulo. Asocie su campaña con grandes valores y acerque su marca al corazón de la familia con esta nueva e increíble producción.

Sarala Sagar Receives Heavy Inflow, Gates Opened Automatically _ V6 News

Posted on October 1, 2022 by Michael G
సరాళా సాగర్ ప్రాజెక్ట్‎కు భారీగా వరద | V6 News

కేజీ 16 తులాల బంగారం | ప్లాస్టిక్ బతుకమ్మ 13 వేలు
https://youtu.be/jxSEIgH0Adc

దసరాకు లీడర్ల దావత్ లు
https://youtu.be/m62MRVKcYHw

వచ్చిండు..పొయిండు
https://youtu.be/rWESfB2sEnA

ప్లాస్టిక్ బతుకమ్మ 13 వేలు
https://youtu.be/r6VmIkb0G3Y

నిన్న నై – ఇయ్యాల జై
https://youtu.be/04ziure8U7Q
► Subscribe to V6 News : https://www.youtube.com/c/V6NewsTelugu
► Subscribe to V6 Life : https://www.youtube.com/c/V6Life
► Follow Us On Dailymotion : https://www.dailymotion.com/v6newstelugu
► Like us on Facebook : http://www.facebook.com/V6News.tv
► Follow us on Instagram : https://www.instagram.com/v6newstelugu/
► Follow us on Twitter : https://twitter.com/V6News
► Visit Website : http://www.v6velugu.com/
► Join Us On Telegram : https://t.me/V6NewsTelugu

Watch V6 Programs Here
►Teenmaar : https://rb.gy/qn91pg
►Trending Videos : https://rb.gy/f6i0x2
►Top News : https://rb.gy/wqjeun
►HD Playlist : https://rb.gy/veit87
►Innerview : https://rb.gy/83izwa
►Medaram Jatara : https://rb.gy/mn4tu7
►Chandravva : https://rb.gy/nja3cl
►Spotlight : https://rb.gy/4lfm9s
►Dhoom Thadaka : https://rb.gy/hvytxl
►V6 Songs : https://rb.gy/68n90s
►Life Mates : https://rb.gy/itvwfa

News content that serves the interests of Telangana and Andhra Pradesh viewers in the most receptive formats. V6 News channel Also Airs programs like Teenmaar News, Chandravva & Padma Satires etc, Theertham, Muchata (Celeb Interviews) Cinema Talkies, City Nazaria(Prog Describes The Most Happening &Visiting Places In Hyderabad),Mana Palle(Describes Villages And Specialities), Also V6 News Channel Is Famous For ‘Bonalu Songs’, ‘Bathukamma Songs’ And Other Seasonal And Folk Related Songs.”V6Teenmaar News”, “Teenmaar News”.

Spinning Code: What I Brought from Drupal to Salesforce

Posted on October 1, 2022 by Michael G

If you look over this blog, or know me, you will see that I’ve now have reasonably significant experience as both a Salesforce and Drupal developer. The last couple weeks I have been thing about what from my Drupal experience supports my work as a Salesforce developer.

I think there are three parallels that are encouraged in Drupal developers that helped me learn to be a good Salesforce developer quickly.

  1. Embrace, don’t fight, Platform Constraints
  2. Extend the Platform’s Strengths
  3. Leverage Events

Embrace Salesforce Platform Constraints

Both Drupal and Salesforce run in constrained environments. Web applications, regardless of their purpose, have to protect themselves against bad actors and bad neighbors. There are execution timeouts and memory limits, for both platforms. Salesforce adds a variety of additional limits and governors, but they are all logical extensions about memory and time. Lots of other platforms allow developers to ignore resource use until they reach a crisis point. Don’t believe me, just check the memory used by Chrome, Electron Apps, or any other Chromium-based application.

Working in resource constrained environments forces you to think through how to use the resources you do have efficiently. While these platforms aren’t like working on hardware with highly limited resources, they still can test your resourcefulness.

Drupal and Salesforce both provide ways to run large jobs across many processing contexts. New developers on both platforms often only resort to using batch and queueable operations as a last resort, but learning to use those solutions is critical to success on most interesting projects. When you try to avoid them you create solutions that appear to work and fail at scale.

Coming to Salesforce from Drupal, I already knew and understood the importance of asynchronous batch processing. So when solutions needed batch processing it was second nature to learn that part of the platform.

Extend the Platform’s Strengths

For all Salesforce’s push and marketing to avoid code, Salesforce developers are often taught that once you write code you just do everything in your code. The interfaces you can use to extend the platform’s existing solutions are treated as advanced topics. But when you work with Drupal, you are encouraged from the start to create modules that build on and extend the platform’s existing strength. Drupal developers are encouraged to leverage the features and utilities all around them.

This has always been true, but even more after Drupal’s move to leverage Symphony plugins and services. As a developer used to extending the platform, I came to Salesforce looking for ways to extend the platform’s declarative tools.

Often Salesforce developers create powerful solutions built purely in code triggered by record changes or simple buttons. They look passed Apex Actions that extend the Flow declarative automatons, platform events, and other tools that extend the system. But when you embrace a platform’s basic structures you often create more flexible solutions than your could with pure code.

The mind set of extending a platform, which I brought with me from my Drupal work helps me create tools and solutions that are designed to adapt over time.

Leverage Events

Event driven architectures are not new, but their popularity continues to grow. Where platforms used to follow informal patterns that equated to event systems, now we see formal event structures being build to replace old habits.

Drupal and Salesforce both have had event frameworks for a long time: Drupal had hooks (events by naming convention), Salesforce had triggers.

Both have seen major upgrades to their event patterns in recent versions. Platform events in Salesforce, still making their full power clear to a lot of developers. Symphony brought proper events to Drupal in version 8 and continue to help push the platform forward.

I have learned to leverage the events systems on both platforms. Understanding them as tightly constrained state machines, and learning to push them to their limits, helps me get the most from both platforms.

My experience with Drupal hooks and events has made it obvious to me when to leverage Salesforce’s Platform events. As Salesforce increases the number of places you can use them in their declarative tools, it increases the value of this approach.

So What?

As a developer, what you learn in one part of your career can make you stronger in the next. As a field we’re not actually that creative. Even if the details are different, the concepts will often carry forward because they are built on the same fundamentals. Whatever platform you are using today, learn how to make it sing – it’ll help you learn the next faster and better.

The post What I Brought from Drupal to Salesforce appeared first on Spinning Code.

This Week in Rails – 2022-09-30

Posted on October 1, 2022 by Michael G
Video coverage
of the

This Week in Rails newsletter

OpenSSH 9.1 is almost ready for release. Please help testing!

Posted on October 1, 2022 by Michael G

An important message from Damien Miller (djm@) turned up on mailing lists and elsewhere, saying,

From: Damien Miller <djm () mindrot ! org>
Date: Wed, 28 Sep 2022 00:03:37 +0000
To: openssh-unix-dev
Subject: Call for testing: openssh-9.1

Hi,

OpenSSH 9.1p1 is almost ready for release, so we would appreciate testing
on as many platforms and systems as possible. This is a bugfix release.

Snapshot releases for portable OpenSSH are available from
http://www.mindrot.org/openssh_snap/

You can read the whole message here or continue after the fold –

Read more…

  • Previous
  • 1
  • …
  • 748
  • 749
  • 750
  • 751
  • 752
  • 753
  • 754
  • …
  • 821
  • Next

Recent Posts

  • SmartEsq has launched an AI-powered MFN Election tool
  • Open Source email Clients
  • When and how to use benchmarking
  • How Plotly AI revolutionizes the dashboard development process
  • [TUT] LoRa & LoRaWAN – MikroTik wAP LR8 kit mit The Things Network verbinden [4K | DE]

Categories

  • Android
  • Linux
  • News
  • Open Source
©2025 Open World News | Powered by Superb Themes
We use cookies on our website to give you the most relevant experience by remembering your preferences and repeat visits. By clicking “Accept All”, you consent to the use of ALL the cookies. However, you may visit "Cookie Settings" to provide a controlled consent.
Cookie SettingsAccept All
Manage consent

Privacy Overview

This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary
Always Enabled
Necessary cookies are absolutely essential for the website to function properly. These cookies ensure basic functionalities and security features of the website, anonymously.
CookieDurationDescription
cookielawinfo-checkbox-analytics11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Analytics".
cookielawinfo-checkbox-functional11 monthsThe cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional".
cookielawinfo-checkbox-necessary11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary".
cookielawinfo-checkbox-others11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Other.
cookielawinfo-checkbox-performance11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Performance".
viewed_cookie_policy11 monthsThe cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data.
Functional
Functional cookies help to perform certain functionalities like sharing the content of the website on social media platforms, collect feedbacks, and other third-party features.
Performance
Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.
Analytics
Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics the number of visitors, bounce rate, traffic source, etc.
Advertisement
Advertisement cookies are used to provide visitors with relevant ads and marketing campaigns. These cookies track visitors across websites and collect information to provide customized ads.
Others
Other uncategorized cookies are those that are being analyzed and have not been classified into a category as yet.
SAVE & ACCEPT