Search Results

Search found 1122 results on 45 pages for 'concurrent'.

Page 21/45 | < Previous Page | 17 18 19 20 21 22 23 24 25 26 27 28  | Next Page >

  • C# async and actors

    - by Alex.Davies
    If you read my last post about async, you might be wondering what drove me to write such odd code in the first place. The short answer is that .NET Demon is written using NAct Actors. Actors are an old idea, which I believe deserve a renaissance under C# 5. The idea is to isolate each stateful object so that only one thread has access to its state at any point in time. That much should be familiar, it's equivalent to traditional lock-based synchronization. The different part is that actors pass "messages" to each other rather than calling a method and waiting for it to return. By doing that, each thread can only ever be holding one lock. This completely eliminates deadlocks, my least favourite concurrency problem. Most people who use actors take this quite literally, and there are plenty of frameworks which help you to create message classes and loops which can receive the messages, inspect what type of message they are, and process them accordingly. But I write C# for a reason. Do I really have to choose between using actors and everything I love about object orientation in C#? Type safety Interfaces Inheritance Generics As it turns out, no. You don't need to choose between messages and method calls. A method call makes a perfectly good message, as long as you don't wait for it to return. This is where asynchonous methods come in. I have used NAct for a while to wrap my objects in a proxy layer. As long as I followed the rule that methods must always return void, NAct queued up the call for later, and immediately released my thread. When I needed to get information out of other actors, I could use EventHandlers and callbacks (continuation passing style, for any CS geeks reading), and NAct would call me back in my isolated thread without blocking the actor that raised the event. Using callbacks looks horrible though. To remind you: m_BuildControl.FilterEnabledForBuilding(    projects,    enabledProjects = m_OutOfDateProjectFinder.FilterNeedsBuilding(        enabledProjects,             newDirtyProjects =             {                 ....... Which is why I'm really happy that NAct now supports async methods. Now, methods are allowed to return Task rather than just void. I can await those methods, and C# 5 will turn the rest of my method into a continuation for me. NAct will run the other method in the other actor's context, but will make sure that when my method resumes, we're back in my context. Neither actor was ever blocked waiting for the other one. Apart from when they were actually busy doing something, they were responsive to concurrent messages from other sources. To be fair, you could use async methods with lock statements to achieve exactly the same thing, but it's ugly. Here's a realistic example of an object that has a queue of data that gets passed to another object to be processed: class QueueProcessor {    private readonly ItemProcessor m_ItemProcessor = ...     private readonly object m_Sync = new object();    private Queue<object> m_DataQueue = ...    private List<object> m_Results = ...     public async Task ProcessOne() {         object data = null;         lock (m_Sync)         {             data = m_DataQueue.Dequeue();         }         var processedData = await m_ItemProcessor.ProcessData(data); lock (m_Sync)         {             m_Results.Add(processedData);         }     } } We needed to write two lock blocks, one to get the data to process, one to store the result. The worrying part is how easily we could have forgotten one of the locks. Compare that to the version using NAct: class QueueProcessorActor : IActor { private readonly ItemProcessor m_ItemProcessor = ... private Queue<object> m_DataQueue = ... private List<object> m_Results = ... public async Task ProcessOne()     {         // We are an actor, it's always thread-safe to access our private fields         var data = m_DataQueue.Dequeue();         var processedData = await m_ItemProcessor.ProcessData(data);         m_Results.Add(processedData);     } } You don't have to explicitly lock anywhere, NAct ensures that your code will only ever run on one thread, because it's an actor. Either way, async is definitely better than traditional synchronous code. Here's a diagram of what a typical synchronous implementation might do: The left side shows what is running on the thread that has the lock required to access the QueueProcessor's data. The red section is where that lock is held, but doesn't need to be. Contrast that with the async version we wrote above: Here, the lock is released in the middle. The QueueProcessor is free to do something else. Most importantly, even if the ItemProcessor sometimes calls the QueueProcessor, they can never deadlock waiting for each other. So I thoroughly recommend you use async for all code that has to wait a while for things. And if you find yourself writing lots of lock statements, think about using actors as well. Using actors and async together really takes the misery out of concurrent programming.

    Read the article

  • Des hackers exploiteraient le référencement de Google sur le faux-positif de McAfee pour diffuser le

    Mise à jour du 26/04/10 Les requêtes sur le faux-positif de McAfee utilisées pour diffuser des malwares D'après un concurrent de McAfee, des hackers insèreraient des liens malicieux dans le référencement de Google Le faux-positif de McAfee - qui a bloqué des milliers de PC suite à une mauvaise mise à jour (lire ci-avant) - aurait donné des idées aux hackers. Un des concurrents de McAfee, Sophos, affirme que des cybercriminels utiliseraient leurs connaissances des techniques de référencement de Google pour exploiter cette affaire et propager leurs propres malwares. Le principe est simple. Un utilisateur a...

    Read the article

  • Des hackers exploiteraient le référencement de Google sur le faux-positif de McAfee pour diffuser le

    Mise à jour du 26/04/10 Les requêtes sur le faux-positif de McAfee utilisées pour diffuser des malwares D'après un concurrent de McAfee, des hackers insèreraient des liens malicieux dans le référencement de Google Le faux-positif de McAfee - qui a bloqué des milliers de PC suite à une mauvaise mise à jour (lire ci-avant) - aurait donné des idées aux hackers. Un des concurrents de McAfee, Sophos, affirme que des cybercriminels utiliseraient leurs connaissances des techniques de référencement de Google pour exploiter cette affaire et propager leurs propres malwares. Le principe est simple. Un utilisateur a...

    Read the article

  • ARC write-up on the OTM SIG

    - by John Murphy
    ARC write-up on the recent OTM SIG event. The Oracle Transportation Management Special Interest Group (OTM SIG) hosted its 6th annual user conference in Philadelphia, Pennsylvania, August 13-15, 2012. This independently run conference drew almost 400 attendees, predominantly Oracle Transportation Management (OTM) users. It featured four concurrent tracks that included both functionally and technically focused presentations. The tracks included a number of informative presentations by OTM users from various industries. These discussed the users' implementations, current usage, and future plans for OTM within their organizations. ARC Advisory Group found ConAgra's and Mutual Materials' presentations on OTM adoption and Kraft's presentation on the company's use of Fusion Transportation Intelligence particularly informative. Complete ARC write-up

    Read the article

  • SPARC T4-4 Delivers World Record Performance on Oracle OLAP Perf Version 2 Benchmark

    - by Brian
    Oracle's SPARC T4-4 server delivered world record performance with subsecond response time on the Oracle OLAP Perf Version 2 benchmark using Oracle Database 11g Release 2 running on Oracle Solaris 11. The SPARC T4-4 server achieved throughput of 430,000 cube-queries/hour with an average response time of 0.85 seconds and the median response time of 0.43 seconds. This was achieved by using only 60% of the available CPU resources leaving plenty of headroom for future growth. The SPARC T4-4 server operated on an Oracle OLAP cube with a 4 billion row fact table of sales data containing 4 dimensions. This represents as many as 90 quintillion aggregate rows (90 followed by 18 zeros). Performance Landscape Oracle OLAP Perf Version 2 Benchmark 4 Billion Fact Table Rows System Queries/hour Users* Response Time (sec) Average Median SPARC T4-4 430,000 7,300 0.85 0.43 * Users - the supported number of users with a given think time of 60 seconds Configuration Summary and Results Hardware Configuration: SPARC T4-4 server with 4 x SPARC T4 processors, 3.0 GHz 1 TB memory Data Storage 1 x Sun Fire X4275 (using COMSTAR) 2 x Sun Storage F5100 Flash Array (each with 80 FMODs) Redo Storage 1 x Sun Fire X4275 (using COMSTAR with 8 HDD) Software Configuration: Oracle Solaris 11 11/11 Oracle Database 11g Release 2 (11.2.0.3) with Oracle OLAP option Benchmark Description The Oracle OLAP Perf Version 2 benchmark is a workload designed to demonstrate and stress the Oracle OLAP product's core features of fast query, fast update, and rich calculations on a multi-dimensional model to support enhanced Data Warehousing. The bulk of the benchmark entails running a number of concurrent users, each issuing typical multidimensional queries against an Oracle OLAP cube consisting of a number of years of sales data with fully pre-computed aggregations. The cube has four dimensions: time, product, customer, and channel. Each query user issues approximately 150 different queries. One query chain may ask for total sales in a particular region (e.g South America) for a particular time period (e.g. Q4 of 2010) followed by additional queries which drill down into sales for individual countries (e.g. Chile, Peru, etc.) with further queries drilling down into individual stores, etc. Another query chain may ask for yearly comparisons of total sales for some product category (e.g. major household appliances) and then issue further queries drilling down into particular products (e.g. refrigerators, stoves. etc.), particular regions, particular customers, etc. Results from version 2 of the benchmark are not comparable with version 1. The primary difference is the type of queries along with the query mix. Key Points and Best Practices Since typical BI users are often likely to issue similar queries, with different constants in the where clauses, setting the init.ora prameter "cursor_sharing" to "force" will provide for additional query throughput and a larger number of potential users. Except for this setting, together with making full use of available memory, out of the box performance for the OLAP Perf workload should provide results similar to what is reported here. For a given number of query users with zero think time, the main measured metrics are the average query response time, the median query response time, and the query throughput. A derived metric is the maximum number of users the system can support achieving the measured response time assuming some non-zero think time. The calculation of the maximum number of users follows from the well-known response-time law N = (rt + tt) * tp where rt is the average response time, tt is the think time and tp is the measured throughput. Setting tt to 60 seconds, rt to 0.85 seconds and tp to 119.44 queries/sec (430,000 queries/hour), the above formula shows that the T4-4 server will support 7,300 concurrent users with a think time of 60 seconds and an average response time of 0.85 seconds. For more information see chapter 3 from the book "Quantitative System Performance" cited below. -- See Also Quantitative System Performance Computer System Analysis Using Queueing Network Models Edward D. Lazowska, John Zahorjan, G. Scott Graham, Kenneth C. Sevcik external local Oracle Database 11g – Oracle OLAP oracle.com OTN SPARC T4-4 Server oracle.com OTN Oracle Solaris oracle.com OTN Oracle Database 11g Release 2 oracle.com OTN Disclosure Statement Copyright 2012, Oracle and/or its affiliates. All rights reserved. Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners. Results as of 11/2/2012.

    Read the article

  • SAP : "Il faut faire simple, rapide, et sur mesure", le co-CEO Bill McDermott revient sur les mutations en cours de l'éditeur allemand

    SAP : « Il faut faire simple, rapide, et sur mesure » Bill McDermott, co-CEO, revient sur les grandes mutations en cours de l'éditeur allemand De passage à Paris, Bill McDermott ? un des deux co-PDG de SAP - a fait le tour des sujets qui conditionnent l'avenir de l'éditeur allemand. La conférence de presse s'est tenue au SAP Forum qui s'est déroulé le 31 mai au CNIT de La Défense. Parmi la myriade de sujets, Bill McDermott a confirmé son ambition dans les bases de données. Avec le rachat de Sybase, SAP a un objectif clair : devenir le leader de ce secteur dominé actuellement (en valeur) par son grand concurrent Oracle et en unité par Microsoft. « Dans le mo...

    Read the article

  • Les Google Apps s'enrichissent d'une galerie d'applications professionnelles qui vise à concurrencer

    Mise à jour du 10/03/10 Les Google Apps s'enrichissent d'une galerie d'applications A vocation professionnelle, elle vise à concurrencer Microsoft Office 2010 Google vient de lancer le Google Apps MarketPlace. L'annonce a eu lieu lors du Campfire One, la grande messe annuelle où la firme de Moutain View aime à communiquer sur ses nouveautés. Le Google Apps MarketPlace est une nouvelle galerie qui propose des applications à vocation professionnelle. Elle vise à compléter les Google Apps, la suite d'outils en ligne (mail, Agenda, suite bureautique, création de sites, etc) de Google qui se positionne de plus en plus comme un concurrent des outil...

    Read the article

  • SQLite with two python processes accessing it: one reading, one writing

    - by BBnyc
    I'm developing a small system with two components: one polls data from an internet resource and translates it into sql data to persist it locally; the second one reads that sql data from the local instance and serves it via json and a restful api. I was originally planning to persist the data with postgresql, but because the application will have a very low-volume of data to store and traffic to serve, I thought that was overkill. Is SQLite up to the job? I love the idea of the small footprint and no need to maintain yet another sql server for this one task, but am concerned about concurrency. It seems that with write ahead logging enabled, concurrently reading and writing a SQLite database can happen without locking either process out of the database. Can a single SQLite instance sustain two concurrent processes accessing it, if only one reads and the other writes? I started writing the code but was wondering if this is a misapplication of SQLite.

    Read the article

  • How much server bandwidth does an average RTS game require per month?

    - by Nat Weiss
    My friend and I are going to write a multiplayer, multiplatform RTS game and are currently analyzing the costs of going with a client-server architecture. The game will have a small map with mostly characters, not buildings (think of DotA or League of Legends). The authoritative game logic will run on the server and message packet sizes will be highly optimized. We'd like to know approximately how much server bandwidth our proposed RTS game would use on a monthly basis, considering these theoretical constants: 100 concurrent users maximum 8 players maximum per game 10 ticks per second Bonus: If you can tell us approximately how much server RAM this kind of game would use that would also help a great deal. Thanks in advance.

    Read the article

  • Math major as a viable degree

    - by Zak O'Keefe
    While I realize there are many topics about CS vs software engineering vs game school programs, I haven't found anything relating to whether pure math degrees (with CS minor and electives) would also be a viable program. By this I mean: Would having a math major, CS minor put one at competitive disadvantage as compared to a pure CS program? This relates specifically to game engine programming, more on the graphics side. Background (for those who care): Currently a math major, CS minor at school and looking to land a career doing graphics engine programming. Admittedly, I love math and if at all possible would like to stay my current program as long as it doesn't put me at a competitive disadvantage trying to land a job post-graduation. That being said, I'm strong in the traditional C/C++ languages, strong concurrent programming skills, and currently produce self-made games for iOS. As an employer, how badly is the math major hurting me? Just want to get some advice from people already in the field!

    Read the article

  • Parleys Testimonial at GlassFish Community Event, JavaOne 2012

    - by arungupta
    Parleys.com is an e-learning platform that provide a unique experience of online and offline viewing presentations, with integrated movies and chaptering, from the top notch developer conferences and about 40 JUGs all around the world. Stephan Janssen (the Devoxx man and Parleys webmaster) presented at the GlassFish Community Event at JavaOne 2012 and shared why they moved from Tomcat to GlassFish. The move paid off as GlassFish was able to handle 2000 concurrent users very easily. Now they are also running Devoxx CFP and registration on this updated infrastructure. The GlassFish clustering, the asadmin CLI, application versioning, and JMS implementation are some of the features that made them a happy user. Recently they migrated their application from Spring to Java EE 6. This allows them to get locked into proprietary frameworks and also avoid 40MB WAR file deployments. Stateless application, JAX-RS, MongoDB, and Elastic Search is their magical forumla for success there. Watch the video below showing him in full action: More details about their infrastructure is available here.

    Read the article

  • Le MPEG LA s'attaque au VP8 et au WebM de Google, le consortium cherche des brevets utilisés illégalement par le codec open-source

    Le MPEG LA s'attaque au VP8 Et au WebM de Google, le consortium cherche des brevets qui seraient utilisés illégalement par le codec open-source La lutte qui oppose les industriels soutenant le H.264 et les partisans du libre autour des codecs vidéo est sur le point de se transformer en confrontation devant les tribunaux. L'organisme MPEG LA en charge des droits sur le codec H.264 vient en effet de lancer un appel à tous les industriels qui estiment détenir des brevets potentiellement utilisés par le codec concurrent, le « VP8 », racheté et décliné sous licences libres par Google avec WebM. L'objectif de cet appel est d'étudier la possibilité de constituer une commun...

    Read the article

  • Intel et Nvidia signent un accord de partages de certaines de leurs technologies, afin d'enterrer un procès vieux de deux ans

    Intel et Nvidia signent un accord de partages de certaines de leurs technologies, afin d'enterrer un procès vieux de deux ans Intel vient de s'engager à verser, à l'amiable, la somme de 1.5 milliard de dollars à Nvidia. Pour quelle raison ? Afin de clôturer un litige qui avait débuté en février 2009 suite à une plainte d'Intel contre Nvidia (affirmant que son concurrent ne possédait pas la licence nécessaire pour fabriquer des chipsets de carte-mère pour ses derniers processeurs. L'affaire s'était poursuivie avec une contre-plainte de Nvidia, qui retirait à Intel l'accès à certains de ses brevets concernant les processeurs graphiques tout en invoquant une rupture de contrat. Et tout ceci s'était, bien sur, envenimé par voie ...

    Read the article

  • Lean/Kanban *Inside* Software (i.e. WIP-Limits, Reducing Queues and Pull as Programming Techniques)

    - by Christoph
    Thinking about Kanban, I realized that the queuing-theory behind the SW-development-methodology obviously also applies to concurrent software. Now I'm looking for whether this kind of thinking is explicitly applied in some area. A simple example: We usually want to limit the number of threads to avoid cache-thrashing (WIP-Limits). In the paper about the disruptor pattern[1], one statement that I found interesting was that producer/consumers are rarely balanced so when using queues, either consumers wait (queues are empty), or producers produce more than is consumed, resulting in either a full capacity-constrained queue or an unconstrained one blowing up and eating away memory. Both, in lean-speak, is waste, and increases lead-time. Does anybody have examples of WIP-Limits, reducing/eliminating queues, pull or single piece flow being applied in programming? http://disruptor.googlecode.com/files/Disruptor-1.0.pdf

    Read the article

  • BeautyBay.com Boosts its Web business with Endeca!

    - by Richard Lefebvre
    BeautyBay.com Boosts Webpage Views by 70%, Increases Items Placed in Shopping Baskets, and Runs 160 Concurrent Brand and Product Promotion. BeautyBay.com Ltd is the United Kingdom’s largest independent online luxury beauty-product retailer. The company sells more than 10,000 products from leading brands like Urban Decay, Paul & Joe, Mario Badescu, bareMinerals, and Dr Sebagh. It strives to stock consumers’ favorite brands and serve as a leading source of beauty information and product reviews. The company won an Online Retail Award in 2013 in the Beauty, Perfume & Cosmetics category. Read the success story, featuring the role of Oracle Endeca here

    Read the article

  • Concurrency Utilities for Java EE 6: JSR 236 Rebooting

    - by arungupta
    JSR 166 added support for concurrency utilities in the Java platform. The JSR 236's, a.k.a Concurrency Utilities for Java EE, goal was to extend that support to the Java EE platform by adding asynchronous abilities to different application components. The EG was however stagnant since Dec 2003. Its coming back to life with the co-spec lead Anthony Lai's message to the JSR 236 EG (archived here). The JSR will be operating under JCP 2.8's transparency rules and can be tracked at concurrency-spec.java.net. All the mailing lists are archived here. The final release is expected in Q1 2013 and the APIs will live in the javax.enterprise.concurrent package. Please submit your nomination if you would like to join this EG.

    Read the article

  • T-SQL Tuesday #15 : Running T-SQL workloads remotely on multiple servers

    - by AaronBertrand
    This month's installment of T-SQL Tuesday is hosted by Pat Wright ( blog | twitter ). Pat says: "So the topic I have chosen for this month is Automation! It can be Automation with T-SQL or with Powershell or a mix of both. Give us your best tips/tricks and ideas for making our lives easier through Automation." In a recent project, we've had a need to run concurrent workloads on as many as 100 instances of SQL Server in a test environment. A goal, obviously, is to accomplish this without having to...(read more)

    Read the article

  • Intel et Nvidia signent un accord de partages de technologies, pour enterrer un procès vieux de deux ans

    Intel et Nvidia signent un accord de partages de certaines de leurs technologies, afin d'enterrer un procès vieux de deux ans Intel vient de s'engager à verser, à l'amiable, la somme de 1.5 milliard de dollars à Nvidia. Pour quelle raison ? Afin de clôturer un litige qui avait débuté en février 2009 suite à une plainte d'Intel contre Nvidia (affirmant que son concurrent ne possédait pas la licence nécessaire pour fabriquer des chipsets de carte-mère pour ses derniers processeurs. L'affaire s'était poursuivie avec une contre-plainte de Nvidia, qui retirait à Intel l'accès à certains de ses brevets concernant les processeurs graphiques tout en invoquant une rupture de contrat. Et tout ceci s'était, bien sur, envenimé par voie ...

    Read the article

  • New Whitepaper: Deploying E-Business Suite on Exadata and Exalogic

    - by Elke Phelps (Oracle Development)
    Our E-Business Suite Performance Team recently published a new whitepaper to assist you with deploying E-Business Suite on the Oracle Exalogic Elastic Cloud and Oracle Exadata Database Machine , also referred to as Exastack.  If you are considering a migration to Exastack, this new whitepaper will assist you understanding sizing requirements, deployment standards and migration strategies: Deploying Oracle E-Business Suite on Oracle Exalogic Elastic Cloud and Oracle Exadata Database Machine (Note 1460742.1) This whitepaper covers the following topics: Scalability and Sizing Examples - provides performance benchmark analysis with concurrent user counts, scaling analysis and sizing recommendations Deployment Standards - includes recommendations for deploying the various components of the E-Business Suite architecture on Exastack Migration Standards and Guidelines - includes an overview of methods for migrating from commodity hardware to Exastack References Our Maximum Availability Architecture (MAA) team has a number of whitepapers that provide additional information regarding Oracle E-Business Suite on the Oracle Exadata Database Machine.  Their library of whitepapers may be found here: MAA Best Practices - Oracle Applications Unlimited  Related Articles Running E-Business Suite on Exadata V2 Running Oracle E-Business Suite on Exalogic Elastic Cloud

    Read the article

  • T-SQL Tuesday #15 : Running T-SQL workloads remotely on multiple servers

    - by AaronBertrand
    This month's installment of T-SQL Tuesday is hosted by Pat Wright ( blog | twitter ). Pat says: "So the topic I have chosen for this month is Automation! It can be Automation with T-SQL or with Powershell or a mix of both. Give us your best tips/tricks and ideas for making our lives easier through Automation." In a project we are working on, we've had a need to run concurrent workloads on as many as 100 instances of SQL Server in a test environment. A goal, obviously, is to accomplish this without...(read more)

    Read the article

  • Coherence Data Guarantees for Data Reads - Basic Terminology

    - by jpurdy
    When integrating Coherence into applications, each application has its own set of requirements with respect to data integrity guarantees. Developers often describe these requirements using expressions like "avoiding dirty reads" or "making sure that updates are transactional", but we often find that even in a small group of people, there may be a wide range of opinions as to what these terms mean. This may simply be due to a lack of familiarity, but given that Coherence sits at an intersection of several (mostly) unrelated fields, it may be a matter of conflicting vocabularies (e.g. "consistency" is similar but different in transaction processing versus multi-threaded programming). Since almost all data read consistency issues are related to the concept of concurrency, it is helpful to start with a definition of that, or rather what it means for two operations to be concurrent. Rather than implying that they occur "at the same time", concurrency is a slightly weaker statement -- it simply means that it can't be proven that one event precedes (or follows) the other. As an example, in a Coherence application, if two client members mutate two different cache entries sitting on two different cache servers at roughly the same time, it is likely that one update will precede the other by a significant amount of time (say 0.1ms). However, since there is no guarantee that all four members have their clocks perfectly synchronized, and there is no way to precisely measure the time it takes to send a given message between any two members (that have differing clocks), we consider these to be concurrent operations since we can not (easily) prove otherwise. So this leads to a question that we hear quite frequently: "Are the contents of the near cache always synchronized with the underlying distributed cache?". It's easy to see that if an update on a cache server results in a message being sent to each near cache, and then that near cache being updated that there is a window where the contents are different. However, this is irrelevant, since even if the application reads directly from the distributed cache, another thread update the cache before the read is returned to the application. Even if no other member modifies a cache entry prior to the local near cache entry being updated (and subsequently read), the purpose of reading a cache entry is to do something with the result, usually either displaying for consumption by a human, or by updating the entry based on the current state of the entry. In the former case, it's clear that if the data is updated faster than a human can perceive, then there is no problem (and in many cases this can be relaxed even further). For the latter case, the application must assume that the value might potentially be updated before it has a chance to update it. This almost aways the case with read-only caches, and the solution is the traditional optimistic transaction pattern, which requires the application to explicitly state what assumptions it made about the old value of the cache entry. If the application doesn't want to bother stating those assumptions, it is free to lock the cache entry prior to reading it, ensuring that no other threads will mutate the entry, a pessimistic approach. The optimistic approach relies on what is sometimes called a "fuzzy read". In other words, the application assumes that the read should be correct, but it also acknowledges that it might not be. (I use the qualifier "sometimes" because in some writings, "fuzzy read" indicates the situation where the application actually sees an original value and then later sees an updated value within the same transaction -- however, both definitions are roughly equivalent from an application design perspective). If the read is not correct it is called a "stale read". Going back to the definition of concurrency, it may seem difficult to precisely define a stale read, but the practical way of detecting a stale read is that is will cause the encompassing transaction to roll back if it tries to update that value. The pessimistic approach relies on a "coherent read", a guarantee that the value returned is not only the same as the primary copy of that value, but also that it will remain that way. In most cases this can be used interchangeably with "repeatable read" (though that term has additional implications when used in the context of a database system). In none of cases above is it possible for the application to perform a "dirty read". A dirty read occurs when the application reads a piece of data that was never committed. In practice the only way this can occur is with multi-phase updates such as transactions, where a value may be temporarily update but then withdrawn when a transaction is rolled back. If another thread sees that value prior to the rollback, it is a dirty read. If an application uses optimistic transactions, dirty reads will merely result in a lack of forward progress (this is actually one of the main risks of dirty reads -- they can be chained and potentially cause cascading rollbacks). The concepts of dirty reads, fuzzy reads, stale reads and coherent reads are able to describe the vast majority of requirements that we see in the field. However, the important thing is to define the terms used to define requirements. A quick web search for each of the terms in this article will show multiple meanings, so I've selected what are generally the most common variations, but it never hurts to state each definition explicitly if they are critical to the success of a project (many applications have sufficiently loose requirements that precise terminology can be avoided).

    Read the article

  • Peut-on réaliser un bon design Web sans Web-designer ? Quelques pistes de réflexions pour tenter d'y arriver

    Le design des sites aujourd'hui est un point "critique". Et bien souvent les utilisateurs préfèreront un "beau" site à son concurrent moins "évolué" graphiquement. Malheureusement, il n'est pas toujours possible d'avoir à ses côtés un web designer. Dans ce cas, il faut se retrousser les manches et tenter de faire du mieux que l'on peut. Savoir créer un design attrayant ne s'apprend pas en quelques lignes. Cependant voici un petit guide pour débutant qui vous aidera dans la création de votre graphisme. Les contraintes sont nécessaires Même si ça peut sembler contre-intuitif, un bon design part toujours de contraintes bien établies. Si vous pensez que votre projet n'...

    Read the article

  • Windows 8 débutera timidement pour décoller en 2014, selon Forrester, qui met en évidence l'hétérogénéité du marché global des OS

    Windows 8 débutera timidement pour décoller en 2014 selon Forrester, qui met en évidence l'hétérogénéité du marché global des OS À quelques jours de la sortie grand public de Windows 8, le cabinet d'analyse Forrester livre sa vision du futur de l'OS de Microsoft. Selon l'analyste Frank Gillett, vice-président du cabinet Forrester Research, le système d'exploitation va démarrer de façon timide en 2013 sur les PC, puis les ventes vont décoller en 2014. Par contre, Microsoft se positionnera simplement comme un concurrent sur le marché des tablettes et comme un troisième acteur dans le secteur de mobile, loin derrière Android et l'iPhone. Pour Franck Gillett, Microsoft...

    Read the article

  • Google devrait-il arrêter le développement de Chrome OS ? La séparation des équipes de Chrome et Android est jugée "stupide"

    Google devrait-il abandonner le développement de Chrome OS ? Un analyste de Bloomberg vient de publier un billet de blog plutôt provocateur. Il y traite Google d'imbécile, du fait de son organisation interne relative au développement de ses deux systèmes d'exploitation. En effet, il faut savoir qu'à Mountain View, une équipe travaille sur Chrome OS, tandis que l'autre s'occupe d'Android. Et ces deux groupes ne collaborent absolument pas, il régnerait même entre eux un fort esprit de compétition, d'après certains salariés de la firme. Pourtant, d'après Brad Stone, Android a largement démontré sa supériorité et sa plus grande popularité que son "concurrent" interne. Il estime donc que le staff ...

    Read the article

  • Google offre son codec video VP8 sous licence open source, Firefox l'intègre déjà

    Google offre son codec video VP8 sous licence open source, Firefox l'intègre déjà A l'occasion d'I/O (Innovation et Ouverture), sa conférence annuelle pour les développeurs, Google a fait plusieurs annonces importantes. Il a ainsi révélé que son codec vidéo VP8 sera désormais disponible en open source et sans royalties. Il s'agit d'un concurrent libre, en opposition aux technologies propriétaires comme H.264, permettant un encodage vidéo de qualité pour une consommation de bande passante limitée. Tout ceci fait partie d'un projet autrement plus vaste, WebM, dont le but est la création d'un format multimédia ouvert hautement qualitatif. Pour cela, les d...

    Read the article

< Previous Page | 17 18 19 20 21 22 23 24 25 26 27 28  | Next Page >