Monthly:April 2020

Cloud Spanner Emulator

After Cloud Spanner’s launch in 2017, there has been huge customer adoption across several different industries and verticals. With this growth, we have built a large community of application developers using Cloud Spanner. To make the service even more accessible and open to the broader developer community, we are introducing an offline emulator for the Cloud Spanner service. The Cloud Spanner emulator is intended to reduce application development cost and improve developer productivity for the customers.

The Cloud Spanner emulator provides application developers with the full set of APIs, including the breadth of SQL and DDL features that could be run locally for prototyping, development and testing. This open source emulator will provide application developers with the transparency and agility to customize the tool for their application use.

This blog introduces the Cloud Spanner emulator and will guide you through installation and use of the emulator with the existing Cloud Spanner CLI and client libraries.

What is Cloud Spanner Emulator?

The emulator provides a local, in-memory, high-fidelity emulator of the Cloud Spanner service. You can use the emulator to prototype, develop and hermetically test your application locally and in your integration test environments.

Because the emulator stores data in-memory, it will not persist data across runs. The emulator is intended to help you use Cloud Spanner for local development and testing (not for production deployments); However, once your application is working with the emulator, you can proceed to end-to-end testing of your application by simply changing the Cloud Spanner endpoint configuration.

Supported Features

The Cloud Spanner emulator exposes the complete set of Cloud Spanner APIs including instances, databases, SQL, DML, DDL, sessions, and transaction semantics. Support for querying schema metadata for a database is available via Information Schema. Both gRPC and REST APIs are supported and can be used with the existing client libraries, OSS JDBC driver as well as the Cloud SDK. The emulator is supported natively on Linux, and requires Docker on MacOS and Windows platforms. To ease the development and testing of an application, IDEs like IntelliJ and Eclipse can be configured to directly communicate with the Cloud Spanner emulator endpoint.

The emulator is not built for production scale and performance, and therefore should not be used for load testing or production traffic. Application developers can use the emulator for iterative development, and to implement and run unit and integration tests.

A detailed list of features and limitations is provided on Cloud Spanner emulator README. The emulator is currently (as of April 2020) in beta release and will be continuously enhanced for feature and API parity with Cloud Spanner service.

Using the Cloud Spanner Emulator

This section describes using the existing Cloud Spanner CLI and client libraries to interact with the emulator.

Before You Start

Starting the emulator locally

The emulator can be started using Docker or using the Cloud SDK CLI on Linux, MacOS and Windows. In either case, MacOS and Windows would require an installation of docker.


$ docker pull
$ docker run -p 9010:9010 -p 9020:9020

Note: The first port is the gRPC port and the second port is the REST port.


$ gcloud components update beta
$ gcloud beta emulators spanner start

Other alternatives to start the emulator, including pre-built linux binaries, are listed here.

Setup Cloud Spanner Project & Instance

Configure Cloud Spanner endpoint, project and disable authentication:

$ gcloud config configurations create emulator
$ gcloud config set auth/disable_credentials true
$ gcloud config set project test-project
$ gcloud config set api_endpoint_overrides/spanner http://localhost:9020/

To switch back to the default config:
`$ gcloud config configurations activate default`
To switch back to the emulator config:
`$ gcloud config configurations activate emulator`

Verify gCloud is working with the Cloud Spanner Emulator.
$ gcloud spanner instance-configs list

NAME               DISPLAY_NAME
emulator-config    Emulator Instance Config

Create a Cloud Spanner Instance

$ gcloud spanner instances create test-instance –config=emulator-config –description=“Test Instance” –nodes=1

Using Cloud Spanner Client Libraries

With the beta lunch, the latest versions of Java, Go and C++ Cloud Spanner client libraries are supported to interact with the emulator. Use the Getting Started guides to try the emulator.

Prerequisite: Setup Cloud Spanner Project and Instance from step above.

This is an example of running the Java client library with the emulator:
# Configure emulator endpoint
$ export SPANNER_EMULATOR_HOST=“localhost:9010”

# Cloning java sample of client library.
$ git clone && cd java-docs-samples/spanner/cloud-client

$ mvn package

# Create database
$ java -jar target/spanner-google-cloud-samples-jar-with-dependencies.jar
    createdatabase test-instance example-db

# Write
$ java -jar target/spanner-google-cloud-samples-jar-with-dependencies.jar
    write test-instance example-db

# Query
$ java -jar target/spanner-google-cloud-samples-jar-with-dependencies.jar
    query test-instance example-db

Follow the rest of the sample for Java client library using the Getting Started Guide.

Using the Cloud SDK CLI

Prerequisite: Setup Cloud Spanner Project and Instance from step above.

Configure emulator endpoint

$ gcloud config configurations activate emulator

Create a database

$ gcloud spanner databases create test-database –instance test-instance –ddl “CREATE TABLE TestTable (Key INT64, Value STRING(MAX)) PRIMARY KEY (Key)”

Write into database

$ gcloud spanner rows insert –table=TestTable –database=test-database –instance=test-instance –data=Key=1,Value=TestValue1

Read from database

$ gcloud spanner databases execute-sql test-database –instance test-instance –sql “select * from TestTable”

Using the open source command-line tool spanner-cli

Prerequisite: Setup Cloud Spanner Project, Instance and Database from step above.

Follow examples for an interactive prompt to Cloud Spanner database with spanner-cli.

# Configure emulator endpoint
$ export SPANNER_EMULATOR_HOST=”localhost:9010

$ go get
$ go run -p test-project -i test-instance -d test-database

spanner> INSERT INTO TestTable (Key, Value) VALUES (2, “TestValue2“), (3, “TestValue3”);
Query OK, 2 rows affected

spanner> SELECT * FROM TestTable ORDER BY Key ASC;

| Key | Value |
| 2 | TestValue2 |
| 3 | TestValue3 |
2 rows in set

spanner> exit;


Cloud Spanner emulator reduces application development cost and improves developer productivity for Cloud Spanner customers. We plan to continue building and supporting customer requested features and you can follow Cloud Spanner emulator on GitHub for more updates.

By Sneha Shah, Google Open Source

Read More

Stadia Savepoint: April updates

We’re back with another update in our Stadia Savepoint series—here’s what happened in April.

This month we welcomed everyone within our 14 launch countries to Stadia and gave gamers two months of free games with Stadia Pro. Stadia is now free and open to anyone who wants to create an account. Our most recent Stadia Connect revealed that you can click here to play PLAYERUNKNOWN’S BATTLEGROUNDS on Stadia, plus new info on First on Stadia titles Wave Break, Crayta, and Get Packed

Stadia’s Phil Harrison also revealed: “We are bringing five games from Electronic Arts to Stadia as part of our partnership. It all starts with Star Wars: Jedi Fallen Order™ coming this fall followed by EA SPORTS™ Madden NFL and FIFA. We are excited to bring these hugely popular franchises to our players on Stadia in 2020 and beyond. We’ll have more news to share about EA games on Stadia later this year.

Stadia Pro updates

  • Get new games for free as part of Stadia Pro in May: PLAYERUNKNOWN’S BATTLEGROUNDS, Zombie Army 4: Dead War, The Turing Test and SteamWorld Heist.

  • Existing games still available to add to your collection: Destiny 2, GRID, GYLT, Serious Sam Collection, Spitlings, Stacks On Stacks (On Stacks), SteamWorld Dig 2, and SteamWorld Quest: Hand of Gilgamech.

  • Act quickly: Thumper leaves Stadia Pro on April 30.

  • Ongoing discounts for Stadia Pro subscribers: Check out the web or mobile Stadia store for the latest.

Recent content launches on Stadia

New games coming to Stadia

Stadia games

Play Stadia Pro for free

Click to Play on web
Click here to instantly play PLAYERUNKNOWN’S BATTLEGROUNDS in your Chrome browser with an active Stadia Pro subscription.

5.1 surround sound on web 
We added support for 5.1 surround sound when playing games on your Chrome browser with an active Stadia Pro subscription.

On-screen keyboard on web
Access an on-screen keyboard in your Chrome browser when you have a gamepad connected and require text input.

Mobile connection notifications 
Receive notifications about connection quality while playing on mobile devices.

Connection status updates
The connection status icon now only reflects connection strength, following user feedback.

Mobile captures
While playing on mobile devices, press the Capture button on your Stadia controller to save gameplay screenshots and clips.

OnePlus compatibility
Stadia is now compatible with the OnePlus 8 and OnePlus 8 Pro mobile devices. More info here.

That’s it for April—we’ll be back soon to share more updates. As always, stay tuned to the Stadia Community Blog, Facebook, and Twitter for the latest news. 

Read More

Helping local restaurants to connect with customers during times of uncertainty

Tina Leckie is the owner of Fiorentina, a restaurant in Toronto’s Danforth neighbourhood specializing in farm to table cuisine that has been dishing up meals with local ingredients for the past eight years. As many dine-in restaurants and bars close their doors to help prevent the spread of COVID-19, restaurant owners like Tina are looking for new ways to serve customers and keep the lights on.

Over the last two months, the restaurant industry has dramatically changed and Canadians are searching online to understand their new dining options. While people are still searching for “local restaurants near me,” the focus has shifted to alternative mealtime solutions. For example, Canadian searches for “takeout” increased +180% in April compared to January 2020 and we saw “delivery” search interest increase 130% from March to April, compared to the 30 days prior.

To help restaurants during this time, Google has launched new tools to make it easier for restaurants to share how they are operating. Canadian restaurants can now update their free Google My Business business listing to communicate adjusted hours or updated delivery options, such as curbside pickup, no-contact delivery or takeout. These attributes appear on a restaurant’s business profile on Google Search and Maps and are visible when customers are looking for dining options that meet their needs. Businesses can even create a COVID-19 post on their business profile to share any new safety precautions they’ve implemented to keep customers safe.

Toronto’s Fiorentina has updated their Google My Business listing to let customers know they are now offering curbside pickup and no-contact delivery. Businesses can also create a COVID-19 post on their profile to share any new safety precautions they’ve implemented.

For Tina, digital tools have made all the difference in keeping Fiorentina open. “Updating our business profile was easy to do on Google, and this helped us share our new website, and let customers know we’re offering curbside pick-up and delivery, despite being temporarily closed for dine-in,” said Tina. “Now anyone searching for restaurants in the neighbourhood can see that we’re still open and offering adjusted services. Our customers and community have been extremely appreciative of these updates, and continue to support us while we stay open for business.”

“Small businesses have and always will be critical to the Canadian economy, and as consumers shift purchasing behaviour to online, it’s imperative that businesses are also online and can be found,” says John Kiru, Executive Director of the Toronto Association of Business Improvement Areas. “Google My Business helps restaurants not only be found online, but also connect with customers and let them know important updates like revised store hours, alternative service options, and new safety measures implemented during COVID-19.”

Since launching Google My Business, we’ve helped more than 150 million local businesses globally connect with people who are looking for them online. The pandemic presents unique challenges to the restaurant industry and while the path forward is not yet clear, we’re committed to supporting our local communities. Business owners can learn more on our Small Business Hub or join a free, virtual workshop.

Posted by Stephanie Wong, Partner Lead, Food, Beverage & Restaurants at Google

Reach your audience where they are now with Display & Video 360

Media consumption habits are rapidly changing. Planning tools that are tightly connected to your media buying platform can help you reassess your media plans and quickly adjust your ad strategy to reach people where they are now.

We’re expanding the reach forecasting capabilities in Display & Video 360 to offer a deduplicated view of expected campaign reach across open auction display, video and YouTube so that media planners can have a comprehensive and accurate view of their potential audience. And to better support collaboration between planning and buying teams, the planning workspace is now more easily accessible to media planners, thanks to a new dedicated user role.

A deduplicated view of your Display & Video 360 reach 

Media planners aim to get the most comprehensive view of all the media available so they can design relevant and effective plans. In Display & Video 360, you could already forecast the reach of your video campaigns in the plan workspace. For planners to effectively plan across all their programmatic buys, we have added support for display formats.

That means that media planners no longer have to rely on reach metrics from past campaigns to guesstimate the reach of their upcoming display ad campaigns. They can now rely on display forecasts that take into account insights that are unique to Display & Video 360 such as brand safety settings and Google audience details. For example, it is now possible to accurately estimate the reach of a display campaign aimed at reaching the Google affinity audience “Aspiring Chefs” as they enjoy content suitable for general audiences.

But the primary objective of media planning is to understand how many people are likely to be exposed to your brand across formats and inventory. So building on Google’s Unique Reach methodology, we also enabled fully deduplicated reach forecasts in Display & Video 360 across open auction display, open auction video and YouTube.

Once we commit to a reach objective, neither underachieving nor overachieving is an option. Display & Video 360 gives media planners the accuracy they need to effectively plan across all our programmatic campaigns. Anudeep Pedditi
Programmatic Manager, OMD NZ

With this capability, you can now answer questions such as “how many unique people can I expect to reach with my overall campaign across any open auction display and video inventory as well as YouTube?” In addition to reach, you can also see projections for other important campaign metrics such as frequency, viewability and cost as you plan. And you can see how many people you will reach if you apply Google audience segments or if you choose to use your own audience data.

01-large.2020-03-16 16_23_19.gif

Display & Video 360 reach forecasting tool quickly calculating estimated deduplicated reach across YouTube, open auction display and video formats

A dedicated user role for planners

Media planners are increasingly being held accountable for how well an ad campaign actually delivers against the plan that was shared with clients or other teams. As a result, we are seeing stronger collaboration across media planning and buying teams.

To help foster this collaboration, we just introduced a dedicated user role for media planners. For the first time, agencies and advertisers can invite their media planners directly into Display & Video 360. This new role enables access just to the relevant elements of Display & Video 360 for media planners, giving them visibility into the critical media planning information they need to collaborate, learn, iterate and build more impactful media plans.

With the new dedicated role, planners can see cross-channel reach and cost estimates first-hand which facilitates the process of allocating budget and delivers better performance for the client. Azriel Chan
Head of Platforms & Capabilities, OMD NZ

For example, media planners can access accurate forecasts for campaigns bought programmatically in Display & Video 360 and discover new publishers and inventory. With the Partner account owner’s permission, they can also start a negotiation with a publisher or renegotiate an existing deal. This gives them tools to better inform their planning process and freedom to check and update their plans and recommendations whenever they need.

Before launching your next programmatic campaign, give your media planning team access to the Display & Video 360 planning workspace so they can accurately estimate how many people are likely to be exposed to your brand across formats and inventory, and design the best media plan to deliver on your objectives.

Read More

Stopping bad ads to protect users

People trust Google when they’re looking for information, and we’re committed to ensuring they can trust the ads they see on our platforms, too. This commitment is especially important in times of uncertainty, such as the past few months as the world has confronted COVID-19. 

Responding to COVID-19

Since the beginning of the COVID-19 outbreak, we’ve closely monitored advertiser behavior to protect users from ads looking to take advantage of the crisis. These often come from sophisticated actors attempting to evade our enforcement systems with advanced tactics. For example, as the situation evolved, we saw a sharp spike in fraudulent ads for in-demand products like face masks. These ads promoted products listed significantly above market price, misrepresented the product quality to trick people into making a purchase or were placed by merchants who never fulfilled the orders. 

We have a dedicated COVID-19 task force that’s been working around the clock. They have built new detection technology and have also improved our existing enforcement systems to stop bad actors. These concerted efforts are working. We’ve blocked and removed tens of millions of coronavirus-related ads over the past few months for policy violations including price-gouging, capitalizing on global medical supply shortages, making misleading claims about cures and promoting illegitimate unemployment benefits.

Simultaneously, the coronavirus has become an important and enduring topic in everyday conversation and we’re working on ways to allow advertisers across industries to share relevant updates with their audiences. Over the past several weeks, for example, we’ve specifically helped NGOs, governments, hospitals and healthcare providers run PSAs. We continue to take a measured approach to adjusting our enforcement to ensure that we are protecting users while prioritizing critical information from trusted advertisers.

Preserving the integrity of the ecosystem

Preserving the integrity of the ads on our platforms, as we’re doing during the COVID-19 outbreak, is a continuation of the work we do every day to minimize content that violates our policies and stop malicious actors. We have thousands of people working across our teams to make sure we’re protecting our users and enabling a safe ecosystem for advertisers and publishers, and each year we share a summary of the work we’ve done.

In 2019, we blocked and removed 2.7 billion bad ads—that’s more than 5,000 bad ads per minute. We also suspended nearly 1 million advertiser accounts for policy violations. On the publisher side, we terminated over 1.2 million accounts and removed ads from over 21 million web pages that are part of our publisher network for violating our policies. Terminating accounts—not just removing an individual ad or page—is an especially effective enforcement tool that we use if advertisers or publishers engage in egregious policy violations or have a history of violating policy.

2.7 billion taken down.gif

Improving enforcement against phishing and “trick-to-click” ads 

If we find specific categories of ads are more prone to abuse, we prioritize our resources to prevent bad actors from taking advantage of users. One of the areas that we’ve become familiar with is phishing, a common practice used by deceptive players to collect personal information from users under false pretenses. For example, in 2019 we saw more bad actors targeting people seeking to renew their passport. These ads mimicked real ads for renewal sites but their actual intent was to get users to provide sensitive information such as their social security or credit card number. Another common area of abuse is “trick-to-click” ads—which are designed to trick people into interacting with them by using prominent links (for example, “click here”) often designed to look like computer or mobile phone system warnings.

Because we’ve come to expect certain recurring categories like phishing and “trick-to-click,” we’re able to more effectively fight them. In 2019, we assembled an internal team to track the patterns and signals of these types of fraudulent advertisers so we could identify and remove their ads faster. As a result, we saw nearly a 50 percent decrease of bad ads served in both categories from the previous year. In total, we blocked more than 35 million phishing ads and 19 million “trick-to-click” ads in 2019.

Top Offenders.png

Adapting our policies and technology in real time

Certain industries are particularly susceptible to malicious behavior. For example, as more consumers turn to online financial services over brick and mortar locations, we identified an increase in personal loan ads with misleading information on lending terms. To combat this, we broadened our policy to only allow loan-related ads to run if the advertiser clearly states all fees, risks and benefits on their website or app so that users can make informed decisions. This updated policy enabled us to take down 9.6 million of these types of bad ads in 2019, doubling our number from 2018. 

At the end of last year, we also introduced a certification program for debt management advertisers in select countries that offer to negotiate with creditors to remedy debt or credit problems. We know users looking for help with this are often at their most vulnerable and we want to create a safe experience for them. This new program ensures we’re only allowing advertisers who are registered by the local regulatory agencies to serve ads for this type of service. We’re continuing to explore ways to scale this program to more countries to match local finance regulations. 

Looking forward

Maintaining trust in the digital advertising ecosystem is a top priority for Google. And with global health concerns now top of mind for everyone, preparing for and responding to attempts to take advantage of our users is as important as it has ever been. We know abuse tactics will continue evolving and new societal issues will arise. We’ll continue to make sure we’re protecting our users, advertisers and publishers from bad actors across our advertising platforms. 

Read More

18 Asia Pacific news organizations with big ideas

Last October, we invited news organizations to apply to the second round of the Google News Initiative Innovation Challenge in Asia Pacific: a call for new ideas to help journalism thrive in the digital age. Since then, the COVID-19 outbreak has affected publishers across the region and, after discussions with publishers, we made the decision to go ahead with the Challenge—alongside our broader support for journalism in this challenging time. 

The first round of the Challenge focused on diversifying revenue and saw dozens of examples of creative new approaches. Iwate Nippo, a local publisher in Japan, developed a news and lifestyle app targeting elderly subscribers, while Australia’s Crikey created a new group subscription model—steps to strengthen their business and ensure they can continue to provide vital news, analysis and information.

This time around, applicants were asked for proposals to increase reader engagement, which ultimately leads to greater loyalty and willingness to pay for content. We received 255 strong submissions across topics like user-generated content, community management, fact-checking and the use of technologies such as machine learning to tackle business challenges. Today, we’re announcing the 18 organizations from across the region selected to take their ideas forward with GNI’s support.

IC R2 winner graphics (13).png

Meet the selected applicants from the second round of the GNI Innovation Challenge in Asia Pacific.

As in the first round, what set these organizations apart was the variety and creativity of their ideas. Gaon Connection in India is building an ‘insights platform’ to capture the opinions and preferences of rural communities. Three local news providers in Korea—the Busan Daily, Maeil Daily and Gangwon Daily—are collaborating to gather real-time insights that will help them create customized experiences for their readers. Australian Community Media is developing a new platform for classified ads that will better support local newspapers and small businesses. Japan’s Nippon TV is using augmented reality technology to bring its news archives to life—and these are just some of the proposals that stood out during the application process. 

We’re grateful to all the organizations that took the time to apply. A strong Asia Pacific news industry has never been more important, and we’re looking forward to seeing the selected applicants put their ideas into action.

Keeping spam off the Chrome Web Store

Since the introduction of the Chrome Web Store in 2011, it has become the largest catalog of browser extensions with over 200,000 available to all of our users. This has helped millions of users to customize their browsing experience on Chrome in ways we could have never imagined, from niche utilities to companies building businesses around the platform’s capabilities.
In response, our abuse systems and review teams have been hard at work ensuring that the Chrome Web Store is free from abuse, as many of our developers have noticed an increase in review times lately. However, the increase in adoption of the extension platform has also attracted spammers and fraudsters introducing low-quality and misleading extensions in an attempt to deceive and trick our users into installing them to make a quick profit. We want to ensure that the path of a user discovering an extension from the Chrome Web Store is clear and informative and not muddled with copycats, misleading functionalities or fake reviews and ratings. Therefore, in order to keep the quality of our inventory high and help users find what they want, we’re introducing some updates to our spam policy:
  • Developers or their affiliates should not publish multiple extensions that provide duplicate experiences or functionality on the Chrome Web Store. 
  • Extensions should not have misleading, improperly formatted, non-descriptive, irrelevant, excessive, or inappropriate metadata, including but not limited to the extension’s description, developer name, title, icon, screenshots, and promotional images. Developers must provide a clear and well-written description. Unattributed or anonymous user testimonials in the app’s description are also not allowed.
  • Developers must not attempt to manipulate the placement of any extensions in the Chrome Web Store. This includes, but is not limited to, inflating product ratings, reviews, or install counts by illegitimate means, such as fraudulent or incentivized downloads, reviews and ratings.
  • Extensions with a single purpose of installing or launching another app, theme, webpage, or extension are not allowed.
  • Extensions that abuse, or are associated with the abuse of, notifications by sending spam, ads, promotions, phishing attempts, or unwanted messages that harm the user’s browsing experience are not allowed. Extensions that send messages on behalf of the user without giving the user the ability to confirm the content and intended recipients are also not allowed.
The new policy can be found in our updated Developer Program Policies.
Developers must comply with this policy by August 27th 2020. After that date, extensions that violate the updated policy may be taken down and disabled. You can learn more about these changes and how they may apply to you in our Spam policy FAQ.
Posted by Rebecca Soares and Benjamin Ackerman, Chrome Policy and Anti-Abuse Team

Read More

TFRT: A new TensorFlow runtime

Posted by Eric Johnson, TFRT Product Manager and Mingsheng Hong, TFRT Tech Lead/Manager

TensorFlow aims to make it easy for you to build and deploy ML models across many different devices. Yet, what it means to “build and deploy ML models” is not static and continues to change with increased investment in the ML ecosystem.

At the top-half of the TensorFlow stack, innovation is leading to more complex models and deployment scenarios. Researchers are inventing new algorithms that require more compute, while application developers are enhancing their products with these new techniques across edge and server.

At the bottom-half of the stack, the tension from increasing compute needs and rising compute costs due to the ending of Moore’s law has sparked a proliferation of new hardware aimed at specific ML use cases. Traditional chip makers, startups, and software companies alike (including Google) have invested in specialized silicon.

The result is that the needs of the ML ecosystem are vastly different than they were 4 or 5 years ago when TensorFlow was first created. Of course, we’ve continued to iterate with the release of 2.x, but the current TensorFlow stack is optimized for graph execution, and incurs non-trivial overhead when dispatching a single op. A high-performance low-level runtime is a key to enable the trends of today and empower the innovations of tomorrow.

Enter TFRT, a new TensorFlow RunTime. It aims to provide a unified, extensible infrastructure layer with best-in-class performance across a wide variety of domain specific hardware. It provides efficient use of multithreaded host CPUs, supports fully asynchronous programming models, and focuses on low-level efficiency.

TFRT will benefit a broad range of users, including:

  • Researchers looking for faster iteration time and better error reporting when developing complex new models in eager mode.
  • Application developers looking for improved performance when training and serving models in production.
  • Hardware makers looking to integrate edge and datacenter devices into TensorFlow in a modular way.

What is TFRT?

TFRT is a new runtime that will replace the existing TensorFlow runtime. It is responsible for efficient execution of kernels – low-level device-specific primitives – on targeted hardware. It plays a critical part in both eager and graph execution, which is illustrated by this simplified diagram of the TensorFlow training stack:

TFRT’s role in graph and eager execution within the TensorFlow training stack

Note that everything in grey is part of TFRT. In eager execution, TensorFlow APIs call directly into the new runtime. In graph execution, your program’s computational graph is lowered to an optimized target-specific program and dispatched to TFRT. In both execution paths, the new runtime invokes a set of kernels that call into the underlying hardware devices to complete the model execution, as shown by the black arrows.

Key design points

Whereas the existing TensorFlow runtime was initially built for graph execution and training workloads, the new runtime will make eager execution and inference first-class citizens, while putting special emphasis on architecture extensibility and modularity. More specifically, TFRT has the following selected design highlights:

  • To achieve higher performance, TFRT has a lock-free graph executor that supports concurrent op execution with low synchronization overhead, and a thin eager op dispatch stack so that eager API calls will be asynchronous and more efficient.
  • To make extending the TF stack easier, we decoupled device runtimes from the host runtime, the core TFRT component that drives host CPU and I/O work.
  • To get consistent behavior, TFRT leverages common abstractions, such as shape functions and kernels, across both eager and graph.

The power of MLIR

TFRT is also tightly-integrated with MLIR. For example:

  • TFRT utilizes MLIR’s compiler infrastructure to generate an optimized, target-specific representation of your computational graph that the runtime executes.
  • TFRT uses MLIR’s extensible type system to support arbitrary C++ types in the runtime, which removes tensor-specific limitations.

Together, TFRT and MLIR will improve TensorFlow’s unification, flexibility, and extensibility.

Initial Results

Early performance results from the inference and serving use case are encouraging. As part of a benchmarking study for TensorFlow Dev Summit 2020, we integrated TFRT with TensorFlow Serving and measured the latency of sending requests to the model and getting prediction results back. We picked a common MLPerf model, ResNet-50, and chose a batch size of 1 and a data precision of FP16 to focus our study on runtime related op dispatch overhead. In comparing performance of GPU inference over TFRT to the current runtime, we saw an improvement of 28% in average inference time. These early results are strong validation for TFRT, and we expect it to provide a big boost to performance. We hope you are as excited as we are!

What’s next

TFRT is being integrated with TensorFlow, and will be enabled initially through an opt-in flag, giving the team time to fix any bugs and fine-tune performance. Eventually, it will become TensorFlow’s default runtime. Although it is still an early stage project, we have made the GitHub repository available to the community. We are limiting contributions to begin with, but encourage participation in the form of requirements and design discussions.

To learn more, please check out our Dev Summit 2020 presentation, where we first introduced TFRT to the world, and our MLIR Open Design Deep Dive presentation, where we provided a detailed overview of TFRT’s core components, low-level abstractions, and general design principles. And finally, if you want to keep up with all things TFRT, please join our new mailing list. Thanks!

Read More

Google Meet premium video meetings—free for everyone

Technology that connects us while we’re apart helps keep us safe and productive. Over the past few months, we’ve seen the power of video meetings bring us together—whether we’re working with teammates, talking to healthcare professionals, sharing with loved ones, or learning from home.

Today, we’re making Google Meet, our premium video conferencing product, free for everyone, with availability rolling out over the coming weeks. We’ve invested years in making Meet a secure and reliable video conferencing solution that’s trusted by schools, governments and enterprises around the world, and in recent months we’ve accelerated the release of top-requested features to make it even more helpful. Starting in early May, anyone with an email address can sign up for Meet and enjoy many of the same features available to our business and education users, such as simple scheduling and screen sharing, real-time captions, and layouts that adapt to your preference, including an expanded tiled view.

It’s important that everyone who uses Meet has a secure and reliable experience from the start, so beginning next week, we’ll be gradually expanding its availability to more and more people over the following weeks. This means you might not be able to create meetings at right away, but you can sign up to be notified when it’s available.


Meet operates on a secure foundation, keeping users safe, data secure, and information private—including between patients and caregivers.

Video meetings built on a secure foundation
Meet is designed, built and operated to be secure at scale. Since January, we’ve seen Meet’s peak daily usage grow by 30x. As of this month, Meet is hosting 3 billion minutes of video meetings and adding roughly 3 million new users every day. And as of last week, Meet’s daily meeting participants surpassed 100 million. With this growth comes great responsibility. Privacy and security are paramount, no matter if it’s a doctor sharing confidential health information with a patient, a financial advisor hosting a client meeting, or people virtually connecting with each other for graduations, holidays and happy hours.

Our approach to security is simple: make products safe by default. We designed Meet to operate on a secure foundation, providing the protections needed to keep our users safe, their data secure, and their information private. Here are just a few of our default-on safety measures:

  • We provide a strong set of host controls such as the ability to admit or deny entry to a meeting, and mute or remove participants, if needed.
  • We do not allow anonymous users (i.e., without a Google Account) to join meetings created by individual accounts.
  • Meet meeting codes are complex by default and therefore resilient to brute-force “guessing.”
  • Meet video meetings are encrypted in transit, and all recordings stored in Google Drive are encrypted in transit and at rest.
  • We don’t require plugins to use Meet on the web. It works entirely in Chrome and other modern browsers, so it’s less vulnerable to security threats.
  • On mobile, we have dedicated Google Meet apps in the Apple App Store and Google Play Store.
  • Meet users can enroll their account in Google’s Advanced Protection Program—our strongest protections available against phishing and account hijacking.
  • Google Cloud undergoes regular rigorous security and privacy audits for all its services. Our global compliance certifications can help support regulatory requirements such as GDPR and HIPAA, as well as COPPA and FERPA for education.
  • Your Meet data is not used for advertising, and we don’t sell your data to third parties.

We operate a highly secure and resilient private network that encircles the globe and connects our data centers to each other—ensuring that your data stays safe. Trust is built on transparency and we publish the locations of all our data centers. You can learn more about how Meet keeps your video meetings safe in this post.

Free Google Meet accounts for individuals
You can use Meet to schedule, join or start secure video meetings with anyone—for a virtual yoga class, weekly book club, neighborhood meeting, or happy hour with friends. Until now, Meet has only been available as part of G Suite, our collaboration and productivity solution for businesses, organizations and schools. Going forward, Meet will be available to anyone for free on the web at and via mobile apps for iOS or Android. And if you use Google Calendar, you’ll be able to easily start or join from there, too.

Use your existing Google Account to start a secure meeting in Google Meet

If you have an existing Google Account (for example, if you’re a user), sign in at to get started. If you don’t have a free Google Account, it only takes a minute to create one using your work or personal email address of choice (we require this step as a security measure, and you’ll only need to do this once).

Meetings are limited to 60 minutes for the free product, though we won’t enforce this time limit until after Sept. 30. Creating a trusted meeting space is important, and being mindful when sharing meeting links in public forums can help create a safe experience for all attendees. For more tips on how to use Meet securely and effectively, visit our Help Center.

Google Meet for groups and teams
Groups within an organization can also use Meet to create video meetings that help coworkers connect one-on-one, collaborate as a team, and more. For organizations that aren’t already G Suite customers, today we’re announcing G Suite Essentials. G Suite Essentials is perfect for teams that need access to Meet’s more advanced features, such as dial-in phone numbers, larger meetings, and meeting recording. G Suite Essentials also includes Google Drive for easy and secure access to all of a team’s content, and Docs, Sheets and Slides for content creation and real-time collaboration.

Through Sept. 30, we’re providing G Suite Essentials and all of these advanced features free of charge. If you’re interested in G Suite Essentials, complete this form to get in touch with our sales team.

Google Meet for businesses and organizations
Whether it’s hospitals supporting patients via telehealth, banks working with loan applicants, retailers assisting customers remotely, or manufacturers interacting safely with warehouse technicians, businesses across every industry are using Meet to stay connected. If you’re one of the 6 million companies and organizations that use G Suite to power remote productivity, you already have access to Meet. Admins simply need to enable Meet by following instructions outlined on our Help Center. In the spirit of being helpful during this time, we’re providing three ways for new and current enterprise customers to access Meet through Sept. 30:

  • Free access to Meet’s advanced features for all G Suite customers, such as the ability to live stream for up to 100,000 viewers within your domain.
  • Free additional Meet licenses for existing G Suite customers without any amendments to their current contract.
  • Free G Suite Essentials for enterprise customers. Enterprises can get in touch with our sales team to learn more.

Google Meet includes live captions powered by Google’s speech recognition technology

Google Meet in schools and higher-ed institutions
Many schools and colleges today use Meet to power secure virtual classes, PTA meetings, parent-teacher conferences, tutoring, and even school socials. Meet is included in G Suite for Education, which serves more than 120 million students and teachers globally. If your school already uses G Suite for Education, your administrator can enable Meet at no additional cost. If your school doesn’t use G Suite for Education, you can sign up here. To access resources for distance learning, visit Teach from Home.

Our hope is that by making Meet and G Suite more readily available for all, it will be easier to securely stay connected and productive—now and in the future.

Post Content Posted by Javier Soltero, Vice President & GM, G Suite

Maps that bring us closer, even when we’re apart

With much of the world physically apart right now, people are finding creative ways to use custom-built maps to maintain a shared sense of community, albeit virtually.

In 2007, we launched a tool called My Maps to help people create their own custom maps on top of Google Maps. With a simple drag-and-drop interface you can add placemarks, draw lines and shapes, and embed text, photos and videos. You can share your map via public URL, embed it on websites or publish your map for others to see.

Over the past four months, we’ve seen a surge in the number of people creating and viewing My Maps. From December 2019 to April 2020, we saw nearly a billion more My Maps creations, edits and views compared to the same time period last year, growing from 2 billion to nearly 3 billion. With My Maps, communities have been sharing helpful, local information in rapidly changing situations—from COVID-19 testing sites and food banks to where first responders can access childcare facilities.

Maps can help us and our communities stay safe

A map can be helpful in ways that a simple list of text is not: it helps us instantly see information in the context of where we are, with the locations of the resources we might need.

My Maps animation

With My Maps, anyone can be a cartographer. People can import their own data into a custom map, similar to how the San Francisco Department of Homelessness & Supportive Housing mapped downtown hand-washing and hygiene stations to support hand hygiene and reduce the spread of COVID-19. With a spreadsheet or KML you can have your own custom map in no time.

Some maps take a bit more than hand-drawn points and polygons. For that, My Maps creators can import their own mapping data and mash it up with other sources. 

For example, the online newspaper Briarcliff Daily Voice created a My Map showing the spread of coronavirus cases in the New York City metropolitan area, using data from three state healthcare agencies and the city’s health department. has leveraged My Maps to inform Pennsylvanians about coronavirus cases by county. And The Chicago Sun-Times has a map showing where to get tested for coronavirus in the Chicago area.

Food bank

Anyone can be a force for good with simple, easy-to-use maps

In the past few months, we’ve seen how powerful this small set of relatively simple features can be. People are using My Maps to to be forces for good and coordinate relief efforts.

Map by map, people are connecting each other to resources for caring for ourselves and others, while staying healthy and informed. We’re seeing everyone from members of Congress to local nonprofits use Google My Maps to visualize information like school lunch pick-up spots to the spread of the virus in our communities.

Here are 10 helpful My Maps we’ve seen developed by communities around the world:

  • Massachusetts My Maps

    Massachusetts’ Child Nutrition Outreach Program is using My Maps to help families find sites serving meals to children and teens during school closures.

  • Maldives My Maps

    The local Maldives police department thanked a citizen for creating a helpful map that displayed local shops, pharmacies and food businesses by zone. 

  • Ecuador My Maps

    The National Transit Agency of Ecuador is using My Maps to help truck drivers moving food across the country find disinfection points, gas stations, mechanics and other resources to help them on their journey.

  • Taiwan My Maps

    Taiwan’s CDC has used My Maps to visualize the traces of confirmed patients in their contact tracing website.

  • Glasglow My Maps

    Urban Roots, a community led environmental charity in Scotland, has been collaborating with the Glasgow Community Food Network map to direct people to food banks and free meals in Glasgow.

  • Philippines My Maps

    In the Philippines, the Department of Transportation is using My Maps to map free hospital shuttle service routes for COVID-19 medical frontliners.

  • Wyoming My Maps

    The Wyoming Department of Family Services created a My Map to guide essential personnel like police officers, doctors, and nurses to childcare facilitiesfor their children whose schools have closed.

  • Australia Clinics My Maps

    In Australia, the New South Wales Ministry of Health has created a map of public COVID-19 clinics up and running across New South Wales.

  • Mississippi My Maps

    Librarians across Mississippi have teamed up to create a map of parking lot WiFi access points.

  • London COVID Support My Maps

    Andy Jeffrey, a freelance developer from London, has developed a map with links and contact details for coronavirus support services, charity organizations and mutual aid groups in North London

Keeping a shared sense of community, even when you’re physically apart

As much as these maps are informative and helpful, they’re also uplifting. After a group of Brooklyn, NY moms asked neighbors to put pictures of rainbows in house windows so kids could track them down, one woman created a map showing the rainbows’ locations all over the city and suburbs. Now people worldwide are pitching in and adding their own rainbow locations to the map.

Mapping Rainbows with Google My Maps

If you’d like to experiment with My Maps, we’re putting together tutorials on skills like merging datasets and embedding maps online. Visit the Google Earth Medium channel in the coming weeks to learn more.

Read More