9 Shades of Lustre 04/2019 [email protected] Lustre Features Review

Total Page:16

File Type:pdf, Size:1020Kb

9 Shades of Lustre 04/2019 Sbuisson@Whamcloud.Com Lustre Features Review 9 shades of Lustre 04/2019 [email protected] Lustre features review ►Metadata operations & optimizations • DNE • Lazy size on MDT ►File striping extensions • PFL • FLR use-case • DoM use case ►Lustre network aspects • Multi-Rail • Dynamic Peer Discovery • UDSP • LNet Health whamcloud.com Lustre metadata ls -l speed improvement performance scale out Simplifying network Choosing the correct configuration striping Increasing network Strengthening data bandwidth availability Small file performance improvement whamcloud.com Lustre metadata scale out ►Lustre initial design whamcloud.com Lustre metadata scale out ►DNE • aka Distributed Namespace Environment • phase 1 introduced with Lustre 2.4 (May 2013) whamcloud.com Lustre metadata scale out whamcloud.com Lustre metadata scale out ►DNE phase 1 benefits: • support up to 256 MDTs • additional MDTs on additional MDSes ►DNE phase 1 limitations: • remote dir assigned to a single MDT • only remote directory creation/unlink are allowed • no migration tool to move between MDTs (needs ‘mv’) • synchronous cross-MDT operations whamcloud.com Lustre metadata scale out ►DNE phase 2 • introduced with Lustre 2.8 (March 2016) • spread a single directory across multiple MDTs Þallow striped dir in addition to remote dir Þmuch more flexible than phase 1 Striped Directory Dir shard 0 Dir shard 1 Dir shard 2 Dir shard 3 fileA fileB fileC fileD whamcloud.com Lustre metadata scale out ►DNE phase 2 addresses phase 1 limitations: • rename and link ops supported • tool to migrate directories from one MDT to another • asynchronous cross-MDT operations Þmore user-friendly ►DNE phase 2 benefits: • scale size and performance of large directories • simple load balancing across MDTs ►How to use: lfs mkdir -c mdt_count /mount_point/new_directory lfs mkdir -i mdt_index /mount_point/new_directory whamcloud.com Improving DNE usability ►DNE phase 3 • introduction began with Lustre 2.12 (December 2018) • directory restriping from single-MDT to striped directories ►How to migrate the contents of a large directory from its current default location to MDT0001 and MDT0003: lfs migrate -m 1,3 /mount_point/largedir ►How to pick least full MDT: lfs mkdir -i -1 /mount_point/new_dir whamcloud.com Improving DNE usability ►DNE phase 3 continuation in 2.13+ • automatically create new remote directory on "best" MDT with mkdir() osimplifies use of multiple MDTs without striping all directories osimilar to OST usage • automatic directory restriping oavoid explicit striping at create ostart with one-stripe directory oadd extra stripes as directory grows Master +4 dir stripes +12 directory stripes whamcloud.com Lustre metadata ls -l speed improvement performance scale out Simplifying network Choosing the correct configuration striping Increasing network Strengthening data bandwidth availability Small file performance improvement whamcloud.com Addressing ‘ls –l’ “slowness” ►Retrieving file size is not that simple in initial approach: • MDT holds some file metadata: ctime, mtime, owner, etc. • BUT IOs to files managed directly between clients and OSTs • need to send requests to all OSTs having a file’s objects to compute its size Þ“slow” ‘ls –l’ whamcloud.com Addressing ‘ls –l’ “slowness” ►Lazy Size on MDS (LSOM) • introduction began with Lustre 2.12 (December 2018) • lazy means ‘not real-time’ olazy size saved as an extended attribute on MDT olazy size updated on file close/truncate • useFul for policy engines that can read this extended attribute oRobinHood oStratagem o‘lfs find’ in 2.13 able to use LSOM to avoid OST RPCs • at this stage, Lustre client is not directly LSOM-aware. whamcloud.com Addressing ‘ls –l’ “slowness” ►‘ls –l’ performance with experimental LSOM-aware client whamcloud.com Lustre metadata ls -l speed improvement performance scale out Simplifying network Choosing the correct configuration striping Increasing network Strengthening data bandwidth availability Small file performance improvement whamcloud.com Choosing the right striping ►Striping is a convenient way to parallelize bandwidth to OSTs ►… but involving more components adds overhead • large stripe count to increase performance? • or small stripe count to limit overhead? ►… and users do not really understand striping • vast majority of files uses default striping • no correlation between file size and striping whamcloud.com Choosing the right striping ►Progressive File Layout (PFL) for improved performance and usability • introduced with Lustre 2.10 (July 2017) • file layout is described by a series of components • each component has its own stripe count, size, OST pool, etc 0 Object 4 Component 0 32M 32M Component 1 14 15 1616 17 1G 1G Component 2 EOF whamcloud.com Choosing the right striping ►Progressive File Layout (PFL) benefits • simplify Lustre usage for novice users • reasonable performance for a variety of I/O patterns olow overhead for small files ohigh bandwidth for large files • stepping stone to more features ►How to use PFL lfs setstripe [--component-end|-E end1] [STRIPE_OPTIONS] [--component-end|-E end2] [STRIPE_OPTIONS] ... filename whamcloud.com Performance benefit from PFL, as seen by end-users ►Multiple clients accessing the same shared file • IOR, 32 clients, 512 threads Source: ORNL presentation at LUG 2016 http://cdn.opensfs.org/wp-content/uploads/2016/04/LUG2016D3_Evaluating-Progressive-File-Layouts_Mohr.pdf whamcloud.com OST space balance with PFL [0, 1MB) stripe_count=1 [1MB, 64MB) stripe_count=4 [64MB, 128GB) stripe_count=16 [128GB, EOF) stripe_count=48 Source: ORNL presentation at LUG 2016 http://cdn.opensfs.org/wp-content/uploads/2016/04/LUG2016D3_Evaluating-Progressive-File-Layouts_Mohr.pdf whamcloud.com OST space balance with PFL Source: ORNL presentation at LUG 2016 http://cdn.opensfs.org/wp- content/uploads/2016/04/ LUG2016D3_Evaluating- Progressive-File- Layouts_Mohr.pdf whamcloud.com Lustre metadata ls -l speed improvement performance scale out Simplifying network Choosing the correct configuration striping Increasing network Strengthening data bandwidth availability Small file performance improvement whamcloud.com Strengthening data availability ►Software, network, hardware all contribute to unavailability of Lustre data • Lustre at the top of a deep software/hardware stack, depends on all components working • needs availability better than individual hardware and software components • needs more robustness against data loss/corruption whamcloud.com Strengthening data availability ►File Level Redundancy (FLR) provides significant value and functionality • introduction began with Lustre 2.11 (April 2018) • based on PFL feature • file’s data no longer in a single location oreplicas can be created on multiple OSTs Replica 1 Object j (PREFERRED) Replica 2 Object k whamcloud.com Strengthening data availability ►Multiple benefits from FLR, eg: • higher availability for server/network failure ofinally better than HA failover • robustness against data loss/corruption omirror, or M+N erasure coding for stripes (Lustre 2.14) • increased read speed for widely shared files omirror input data across many OSTs ►How to use FLR lfs mirror create <--mirror-count|-N[mirror_count] [setstripe_options]> ... <filename|directory> whamcloud.com Lustre metadata ls -l speed improvement performance scale out Simplifying network Choosing the correct configuration striping Increasing network Strengthening data bandwidth availability Small file performance improvement whamcloud.com Improving small file performance ►Small File I/O Concerns • small file data on a single OST ono benefit from multiple OSTs in parallel • random I/O patterns omore latency sensitive oslows down concurrent streaming I/O • data is small ono read-ahead possible omore RPCs for the same amount of data whamcloud.com Improving small file performance ►Data-on-MDT (DoM) small file performance • introduced with Lustre 2.11 (April 2018) • based on PFL feature • stores small file data directly on the MDT • DoM files grow on OSTs after the MDT size limit is reached Without DoM With DoM open(O_RDWR|O_TRUNC), open(O_RDWR|O_TRUNC), stat(), truncate() stat(), truncate() Client MDS Client MDS layout, lock, truncate, enqueue, attributes, read write OSS OSS OSS lock, read, OSS OSS attributes OSS whamcloud.com Improving small file performance ►Data-on-MDT (DoM) benefits • separates large and small I/O data streams • file size is immediately available ►Please keep in mind • increases RPC pressure on MDS • need for more storage space on MDTs whamcloud.com Improving small file performance 8k Reads ►DoM performance 900 for sub-DoM size 800 700 600 500 DOM MB/s Stripe=-1 (8) 400 Stripe=1 300 200 100 0 1 2 4 8 16 Clients whamcloud.com Improving small file performance ►DoM is completely configurable odecide which files to store on MDT odecide which size to store on MDT ►How to use DoM lfs setstripe --component-end|-E end1 --layout|-L mdt [--component-end|-E end2 [STRIPE_OPTIONS] ...] <filename> whamcloud.com Lustre metadata ls -l speed improvement performance scale out Simplifying network Choosing the correct configuration striping Increasing network Strengthening data bandwidth availability Small file performance improvement whamcloud.com Increasing network bandwidth ►Need for high network bandwidth • big Lustre clients with lot of memory and NUMA architecture • big Lustre servers with lot of storage (many OSTs, very large OSTs with DCR,…) ►Possible solutions? • Adding faster interfaces Þimplies replacing much or all of the network • Adding more interfaces to the nodes Þrequires a redesign of
Recommended publications
  • 1 A) Login to the System B) Use the Appropriate Command to Determine Your Login Shell C) Use the /Etc/Passwd File to Verify the Result of Step B
    CSE ([email protected] II-Sem) EXP-3 1 a) Login to the system b) Use the appropriate command to determine your login shell c) Use the /etc/passwd file to verify the result of step b. d) Use the ‘who’ command and redirect the result to a file called myfile1. Use the more command to see the contents of myfile1. e) Use the date and who commands in sequence (in one line) such that the output of date will display on the screen and the output of who will be redirected to a file called myfile2. Use the more command to check the contents of myfile2. 2 a) Write a “sed” command that deletes the first character in each line in a file. b) Write a “sed” command that deletes the character before the last character in each line in a file. c) Write a “sed” command that swaps the first and second words in each line in a file. a. Log into the system When we return on the system one screen will appear. In this we have to type 100.0.0.9 then we enter into editor. It asks our details such as Login : krishnasai password: Then we get log into the commands. bphanikrishna.wordpress.com FOSS-LAB Page 1 of 10 CSE ([email protected] II-Sem) EXP-3 b. use the appropriate command to determine your login shell Syntax: $ echo $SHELL Output: $ echo $SHELL /bin/bash Description:- What is "the shell"? Shell is a program that takes your commands from the keyboard and gives them to the operating system to perform.
    [Show full text]
  • Windows Command Prompt Cheatsheet
    Windows Command Prompt Cheatsheet - Command line interface (as opposed to a GUI - graphical user interface) - Used to execute programs - Commands are small programs that do something useful - There are many commands already included with Windows, but we will use a few. - A filepath is where you are in the filesystem • C: is the C drive • C:\user\Documents is the Documents folder • C:\user\Documents\hello.c is a file in the Documents folder Command What it Does Usage dir Displays a list of a folder’s files dir (shows current folder) and subfolders dir myfolder cd Displays the name of the current cd filepath chdir directory or changes the current chdir filepath folder. cd .. (goes one directory up) md Creates a folder (directory) md folder-name mkdir mkdir folder-name rm Deletes a folder (directory) rm folder-name rmdir rmdir folder-name rm /s folder-name rmdir /s folder-name Note: if the folder isn’t empty, you must add the /s. copy Copies a file from one location to copy filepath-from filepath-to another move Moves file from one folder to move folder1\file.txt folder2\ another ren Changes the name of a file ren file1 file2 rename del Deletes one or more files del filename exit Exits batch script or current exit command control echo Used to display a message or to echo message turn off/on messages in batch scripts type Displays contents of a text file type myfile.txt fc Compares two files and displays fc file1 file2 the difference between them cls Clears the screen cls help Provides more details about help (lists all commands) DOS/Command Prompt help command commands Source: https://technet.microsoft.com/en-us/library/cc754340.aspx.
    [Show full text]
  • Don't Trust Traceroute (Completely)
    Don’t Trust Traceroute (Completely) Pietro Marchetta, Valerio Persico, Ethan Katz-Bassett Antonio Pescapé University of Southern California, CA, USA University of Napoli Federico II, Italy [email protected] {pietro.marchetta,valerio.persico,pescape}@unina.it ABSTRACT In this work, we propose a methodology based on the alias resolu- tion process to demonstrate that the IP level view of the route pro- vided by traceroute may be a poor representation of the real router- level route followed by the traffic. More precisely, we show how the traceroute output can lead one to (i) inaccurately reconstruct the route by overestimating the load balancers along the paths toward the destination and (ii) erroneously infer routing changes. Categories and Subject Descriptors C.2.1 [Computer-communication networks]: Network Architec- ture and Design—Network topology (a) Traceroute reports two addresses at the 8-th hop. The common interpretation is that the 7-th hop is splitting the traffic along two Keywords different forwarding paths (case 1); another explanation is that the 8- th hop is an RFC compliant router using multiple interfaces to reply Internet topology; Traceroute; IP alias resolution; IP to Router to the source (case 2). mapping 1 1. INTRODUCTION 0.8 Operators and researchers rely on traceroute to measure routes and they assume that, if traceroute returns different IPs at a given 0.6 hop, it indicates different paths. However, this is not always the case. Although state-of-the-art implementations of traceroute al- 0.4 low to trace all the paths
    [Show full text]
  • Georgia Department of Revenue
    Form MV-9W (Rev. 6-2015) Web and MV Manual Georgia Department of Revenue - Motor Vehicle Division Request for Manufacture of a Special Veteran License Plate ______________________________________________________________________________________ Purpose of this Form: This form is to be used to apply for a military license plate/tag. This form should not be used to record a change of ownership, change of address, or change of license plate classification. Required documentation: You must provide a legible copy of your service discharge (DD-214, DD-215, or for World War II veterans, a WD form) indicating your branch and term of service. If you are an active duty member, a copy of the approved documentation supporting your current membership in the respective reserve or National Guard unit is required. In the case of a retired reserve member from that unit, you must furnish approved documentation supporting the current retired membership status from that reserve unit. OWNER INFORMATION First Name Middle Initial Last Name Suffix Owners’ Full Legal Name: Mailing Address: City: State: Zip: Telephone Number: Owner(s)’ Full Legal Name: First Name Middle Initial Last Name Suffix If secondary Owner(s) are listed Mailing Address: City: State: Zip: Telephone Number: VEHICLE INFORMATION Passenger Vehicle Motorcycle Private Truck Vehicle Identification Number (VIN): Year: Make: Model: CAMPAIGN/TOUR of DUTY Branch of Service: SERVICE AWARD Branch of Service: LICENSE PLATES ______________________ LICENSE PLATES ______________________ World War I World
    [Show full text]
  • The Linux Command Line
    The Linux Command Line Fifth Internet Edition William Shotts A LinuxCommand.org Book Copyright ©2008-2019, William E. Shotts, Jr. This work is licensed under the Creative Commons Attribution-Noncommercial-No De- rivative Works 3.0 United States License. To view a copy of this license, visit the link above or send a letter to Creative Commons, PO Box 1866, Mountain View, CA 94042. A version of this book is also available in printed form, published by No Starch Press. Copies may be purchased wherever fine books are sold. No Starch Press also offers elec- tronic formats for popular e-readers. They can be reached at: https://www.nostarch.com. Linux® is the registered trademark of Linus Torvalds. All other trademarks belong to their respective owners. This book is part of the LinuxCommand.org project, a site for Linux education and advo- cacy devoted to helping users of legacy operating systems migrate into the future. You may contact the LinuxCommand.org project at http://linuxcommand.org. Release History Version Date Description 19.01A January 28, 2019 Fifth Internet Edition (Corrected TOC) 19.01 January 17, 2019 Fifth Internet Edition. 17.10 October 19, 2017 Fourth Internet Edition. 16.07 July 28, 2016 Third Internet Edition. 13.07 July 6, 2013 Second Internet Edition. 09.12 December 14, 2009 First Internet Edition. Table of Contents Introduction....................................................................................................xvi Why Use the Command Line?......................................................................................xvi
    [Show full text]
  • Forest Quickstart Guide for Linguists
    Forest Quickstart Guide for Linguists Guido Vanden Wyngaerd [email protected] June 28, 2020 Contents 1 Introduction 1 2 Loading Forest 2 3 Basic Usage 2 4 Adjusting node spacing 4 5 Triangles 7 6 Unlabelled nodes 9 7 Horizontal alignment of terminals 10 8 Arrows 11 9 Highlighting 14 1 Introduction Forest is a package for drawing linguistic (and other) tree diagrams de- veloped by Sašo Živanović. This manual provides a quickstart guide for linguists with just the essential things that you need to get started. More 1 extensive documentation is available from the CTAN-archive. Forest is based on the TikZ package; more information about its commands, in par- ticular those controlling the appearance of the nodes, the arrows, and the highlighting can be found in the TikZ documentation. 2 Loading Forest In your preamble, put \usepackage[linguistics]{forest} The linguistics option makes for nice trees, in which the branches meet above the two nodes that they join; it will also align the example number (provided by linguex) with the top of the tree: (1) CP C IP I VP V NP 3 Basic Usage Forest uses a familiar labelled brackets syntax. The code below will out- put the tree in (1) above (\ex. requires the linguex package and provides the example number): \ex. \begin{forest} [CP[C][IP[I][VP[V][NP]]]] \end{forest} Forest will parse the above code without problem, but you are likely to soon get lost in your labelled brackets with more complicated trees if you write the code this way. The better alternative is to arrange the nodes over multiple lines: 2 \ex.
    [Show full text]
  • NETSTAT Command
    NETSTAT Command | NETSTAT Command | Use the NETSTAT command to display network status of the local host. | | ┌┐────────────── | 55──NETSTAT─────6─┤ Option ├─┴──┬────────────────────────────────── ┬ ─ ─ ─ ────────────────────────────────────────5% | │┌┐───────────────────── │ | └─(──SELect───6─┤ Select_String ├─┴ ─ ┘ | Option: | ┌┐─COnn────── (1, 2) ──────────────── | ├──┼─────────────────────────── ┼ ─ ──────────────────────────────────────────────────────────────────────────────┤ | ├─ALL───(2)──────────────────── ┤ | ├─ALLConn─────(1, 2) ────────────── ┤ | ├─ARp ipaddress───────────── ┤ | ├─CLients─────────────────── ┤ | ├─DEvlinks────────────────── ┤ | ├─Gate───(3)─────────────────── ┤ | ├─┬─Help─ ┬─ ───────────────── ┤ | │└┘─?──── │ | ├─HOme────────────────────── ┤ | │┌┐─2ð────── │ | ├─Interval─────(1, 2) ─┼───────── ┼─ ┤ | │└┘─seconds─ │ | ├─LEVel───────────────────── ┤ | ├─POOLsize────────────────── ┤ | ├─SOCKets─────────────────── ┤ | ├─TCp serverid───(1) ─────────── ┤ | ├─TELnet───(4)───────────────── ┤ | ├─Up──────────────────────── ┤ | └┘─┤ Command ├───(5)──────────── | Command: | ├──┬─CP cp_command───(6) ─ ┬ ────────────────────────────────────────────────────────────────────────────────────────┤ | ├─DELarp ipaddress─ ┤ | ├─DRop conn_num──── ┤ | └─RESETPool──────── ┘ | Select_String: | ├─ ─┬─ipaddress────(3) ┬ ─ ───────────────────────────────────────────────────────────────────────────────────────────┤ | ├─ldev_num─────(4) ┤ | └─userid────(2) ─── ┘ | Notes: | 1 Only ALLCON, CONN and TCP are valid with INTERVAL. | 2 The userid
    [Show full text]
  • Unix (And Linux)
    AWK....................................................................................................................................4 BC .....................................................................................................................................11 CHGRP .............................................................................................................................16 CHMOD.............................................................................................................................19 CHOWN ............................................................................................................................26 CP .....................................................................................................................................29 CRON................................................................................................................................34 CSH...................................................................................................................................36 CUT...................................................................................................................................71 DATE ................................................................................................................................75 DF .....................................................................................................................................79 DIFF ..................................................................................................................................84
    [Show full text]
  • 5 Command Line Functions by Barbara C
    ADAPS: Chapter 5. Command Line Functions 5 Command Line Functions by Barbara C. Hoopes and James F. Cornwall This chapter describes ADAPS command line functions. These are functions that are executed from the UNIX command line instead of from ADAPS menus, and that may be run manually or by automated means such as “cron” jobs. Most of these functions are NOT accessible from the ADAPS menus. These command line functions are described in detail below. 5.1 Hydra Although Hydra is available from ADAPS at the PR sub-menu, Edit Time Series Data using Hydra (TS_EDIT), it can also be started from the command line. However, to start Hydra outside of ADAPS, a DV or UV RDB file needs to be available to edit. The command is “hydra rdb_file_name.” For a complete description of using Hydra, refer to Section 4.5.2 Edit Time-Series Data using Hydra (TS_EDIT). 5.2 nwrt2rdb This command is used to output rating information in RDB format. It writes RDB files with a table containing the rating equation parameters or the rating point pairs, with all other information contained in the RDB comments. The following arguments can be used with this command: nwrt2rdb -ooutfile -zdbnum -aagency -nstation -dddid -trating_type -irating_id -e (indicates to output ratings in expanded form; it is ignored for equation ratings.) -l loctzcd (time zone code or local time code "LOC") -m (indicates multiple output files.) -r (rounding suppression) Rules • If -o is omitted, nwrt2rdb writes to stdout; AND arguments -n, -d, -t, and -i must be present. • If -o is present, no other arguments are required, and the program will use ADAPS routines to prompt for them.
    [Show full text]
  • Student Batch File Layout – Version 1.0
    Student Batch File Layout – Version 1.0 This document shall set forth the layout of the Student Batch File that will be used for feeding student records into the Uniq-ID System for id assignment and/or student information updates. The Student Batch File should contain three different types of records. The three types of records are: (1) Header record (2) Detail Record (3) Trailer Record. The Header and Trailer record should be delimited by a single tab or space character. The Detail records can be either tab or comma delimited and the Header record should identify which type is being used (in the delimiter field). All records should be delimited from each by the source operating system’s end of line character or character sequence. In the Uniq-ID System, errors in the Student Batch File will be handled in two different ways. One way is to flag the particular record and allow the user to repair it in the “Fix Errors” stage. The other way is to reject the entire Student Batch File and require that the user resubmit it. Rejection of a Student Batch File will occur if: 1. One or more record types are missing. 2. One or more fields have been omitted from a record. 3. The “Number of Records” field in the trailer record is incorrect. 4. The “Transmission ID” fields in the header and trailer records do not match. 5. The maximum allowable number of detail record errors has been exceeded. 6. The maximum allowable number of records in the entire file has been exceeded.
    [Show full text]
  • Introduction to Unix Shell
    Introduction to Unix Shell François Serra, David Castillo, Marc A. Marti- Renom Genome Biology Group (CNAG) Structural Genomics Group (CRG) Run Store Programs Data Communicate Interact with each other with us The Unix Shell Introduction Interact with us Rewiring Telepathy Typewriter Speech WIMP The Unix Shell Introduction user logs in The Unix Shell Introduction user logs in user types command The Unix Shell Introduction user logs in user types command computer executes command and prints output The Unix Shell Introduction user logs in user types command computer executes command and prints output user types another command The Unix Shell Introduction user logs in user types command computer executes command and prints output user types another command computer executes command and prints output The Unix Shell Introduction user logs in user types command computer executes command and prints output user types another command computer executes command and prints output ⋮ user logs off The Unix Shell Introduction user logs in user types command computer executes command and prints output user types another command computer executes command and prints output ⋮ user logs off The Unix Shell Introduction user logs in user types command computer executes command and prints output user types another command computer executes command and prints output ⋮ user logs off shell The Unix Shell Introduction user logs in user types command computer executes command and prints output user types another command computer executes command and prints output
    [Show full text]
  • EHR: Electronic Health Record (EHR) Data Processing and Analysis Tool
    Package ‘EHR’ June 9, 2021 Version 0.4-1 Date 2021-06-07 Title Electronic Health Record (EHR) Data Processing and Analysis Tool Maintainer Leena Choi <[email protected]> Description Process and analyze electronic health record (EHR) data. The 'EHR' package provides modules to perform diverse medication-related studies using data from EHR databases. Especially, the package includes modules to perform pharmacokinetic/pharmacodynamic (PK/PD) analyses using EHRs, as outlined in Choi, Beck, McNeer, Weeks, Williams, James, Niu, Abou-Khalil, Birdwell, Roden, Stein, Bejan, Denny, and Van Driest (2020) <doi:10.1002/cpt.1787>. Additional modules will be added in future. In addition, this package provides various functions useful to perform Phenome Wide Association Study (PheWAS) to explore associations between drug exposure and phenotypes obtained from EHR data, as outlined in Choi, Carroll, Beck, Mosley, Roden, Denny, and Van Driest (2018) <doi:10.1093/bioinformatics/bty306>. Depends R (>= 2.10) License GPL (>= 3) Imports stats, utils, data.table, methods, lubridate, pkdata Suggests glmnet, logistf, medExtractR, knitr, rmarkdown, ggplot2, markdown NeedsCompilation no RoxygenNote 7.1.1 VignetteBuilder knitr Author Leena Choi [aut, cre] (<https://orcid.org/0000-0002-2544-7090>), Cole Beck [aut] (<https://orcid.org/0000-0002-6849-6255>), Hannah Weeks [aut] (<https://orcid.org/0000-0002-0262-6790>), Elizabeth McNeer [aut], Nathan James [aut] (<https://orcid.org/0000-0001-7079-9151>), Michael Williams [aut] Repository CRAN Date/Publication 2021-06-09 07:20:08 UTC 1 2 R topics documented: R topics documented: EHR-package . .3 addLastDose . .4 analysisPheWAS . .5 buildDose . .6 collapseDose . .8 dataTransformation . .9 dd.............................................. 10 dd.baseline .
    [Show full text]