We design a generic method for reducing the task of finding weighted matchings to that of finding short augmenting paths in unweighted graphs. This method enables us to provide efficient implementations for approximating weighted matchings in the streaming model and in the massively parallel computation (MPC) model.In the context of streaming with random edge arrivals, our techniques yield a ( 1 /2+c)-approximation algorithm thus breaking the natural barrier of 1 /2. For multi-pass streaming and the MPC model, we show that any algorithm computing a (1 − δ)-approximate unweighted matching in bipartite graphs can be translated into an algorithm that computes a (1 − ε(δ))-approximate maximum weighted matching. Furthermore, this translation incurs only a constant factor (that depends on ε > 0) overhead in the complexity. Instantiating this with the current best multi-pass streaming and MPC algorithms for unweighted matchings yields the following results for maximum weighted matchings:• A (1 − ε)-approximation streaming algorithm that uses Oε(1) passes 1 and Oε(n poly(log n)) memory. This is the first (1 − ε)-approximation streaming algorithm for weighted matchings that uses a constant number of passes (only depending on ε).• A (1 − ε)-approximation algorithm in the MPC model that uses Oε(log log n) rounds, O(m/n) machines per round, and Oε(n poly(log n)) memory per machine. This improves upon the previous best approximation guarantee of ( 1 /2 − ε) for weighted graphs. 1 We use Oε(f (n)) to denote a function that is O(f (n)) when the parameter ε is a constant.1 some of the ideas present in the streaming algorithms for unweighted matchings to achieve our result. Our techniques, perhaps surprisingly, also simplify the previous algorithms for finding unweighted matchings, and give an improved guarantee for general graphs. The idea to reduce to the problem of finding unweighted augmenting paths is rather versatile, and we use it to obtain a general reduction from weighted matchings to unweighted matchings as our second main result. We give implementations of this reduction in the models of multi-pass streaming and MPC that incur only a constant factor overhead in the complexity. In multi-pass streaming, the algorithm is (as for single-pass) restricted to use memory that is almost linear in the number of vertices and the complexity is measured in terms of the number of passes that the algorithm requires over the data stream. In MPC, parallel computation is modeled by parallel machines with sublinear memory (in the input size) and data can be transferred between machines only between two rounds of computation (see Section 2 for a precise definition). The complexity of an algorithm in the MPC model, also referred to as the round complexity, is then measured as the number of (communication) rounds used.Both the streaming model and the MPC model, which encompasses many of today's most successful parallel computing paradigms such as MapReduce and Hadoop, are motivated by the need for devising efficient algorithms for large pr...